我有一个文件,里面充满了这样的东西:
-POEM-
>> The big brown fox
>> jumps over the
>> lazy dog.
The end.
我想摆脱“\n>>”并将其变成一行:
-POEM-
The big brown fox jumps over the lazy dog.
The end.
我正在尝试以下方法,但均不起作用:
perl -pe 's/\r?\n>>//g' task.tex
tr '\n\>\>' '' < task.tex
sed -i ':a;N;$!ba;s/\n>>//g' task.tex
我究竟做错了什么?
答案1
你为什么要这么费力?以下是我刚刚对你的文本所做的操作。
在 GEdit 中打开该文件。
将光标保持在第二行的开头
使用 CTRL + H(查找和替换)
查找
>>
并用 SPACE 替换查找
\n
并用 SPACE 替换
确保在两种情况(4 和 5)中都使用了 REPLACE ALL。
这就是我所做的并且有效:)
答案2
假设文本位于名为的文件中x.txt
:
tr -d '\n>>' < x.txt | sed -e 's/-POEM-/&\n/' -e 's/\./&\n/g'
答案3
这对我有用:
当读取行时;执行 line1 =`回显 $line`; 如果 [ `echo $line1 | grep "^>" | wc -l` -eq 1 ]; 然后 var1 =`echo $line1 | sed's/^...//'`; line2 =`回显 $line2 $var1`; 别的 回显 $line2; 回显 $line1; 科幻; 完成 < 任务.tex