使用echo和cat进行不需要的换行

时间:2014-03-18 17:43:09

标签: linux macos bash echo cat

我尝试使用

在文件的开头添加一行
echo 'time/F:x1:x2' | cat - file.txt>newfile.txt

但是这会在新文件的每一行产生换行符(除了添加的' time / F:x1:x2'行之后)。关于如何避免这种想法的任何想法?

3 个答案:

答案 0 :(得分:2)

使用-n禁用尾随换行符:

echo -n 'time/F:x1:x2' | cat - file.txt > newfile.txt

还有其他方法:

sed '1s|^|time/F:x1:x2|' file.txt > newfile.txt

答案 1 :(得分:1)

怎么样

{ echo 'time/F:x1:x2'; cat file.txt; } >newfile.txt

sed '1i\
time/F:x1:x2' file.txt > newfile.txt

答案 2 :(得分:0)

实际上,如果你使用bash,你甚至不需要echo和管道。只需使用一个herestring:

<<< 'time/F:x1:x2' cat - file.txt > newfile.txt