我想在文本文件的开头添加一行。我有input.txt:
line1
line2
line3
并想要添加'time / F:x1:x2'这一行以
结尾time/F:x1:x2
line1
line2
line3
我正在尝试用
执行此操作echo 'time/F:x1:x2' | cat - input.txt>output.txt
但我得到的是
time/F:x1:x2
line1
line2
line3
也就是说,我得到了我不想要的空行。我怎么能避免这个? [编辑:这不是Unwanted line break using echo and cat的重复,因为我错误地询问了那里的换行符 - 我真正想要避免的是空行。]
答案 0 :(得分:1)
也许您的原始文件具有MS-DOS行结尾(\r\n
),并且您用于显示该文件的任何内容都足够智能以检测该文件。然后,当您将带有unix行结尾(\n
)的行添加到顶部时,检测会中断,并且会在中间显示空白行。
修改强> 转换行结尾有无数种方法。大多数编辑都可以以交互方式为您完成。在您的情况下,您可以使用
扩展您的管道| tr -d '\r' > output.txt
答案 1 :(得分:1)
我想在文本文件的开头添加一行。
这个怎么样:
$ cat test
line1
line2
line3
$ sed -i '1i time/F:x1:x2' test
$ cat test
time/F:x1:x2
line1
line2
line3