在空文件中插入换行符

在空文件中插入换行符

创建新的空文件时,如何向其中添加换行符?

运行这些命令:

$ touch test.txt
$ sed -i '$a\' test.txt
$ sed -i '1s/^/\n/' test.txt
$ wc -c test.txt
0 test.txt

很明显sed没有效果。

我的目的是写入一个始终具有正确权限的新文件。下列的回答 创建了一个空文件,但我在非交互式编辑文件时遇到问题。

使用echo是不可取的,因为它不保留权限,如下例所示:

$ sudo echo "text" > test.txt
$ stat -c "%U:%G" test.txt
me:mygroup

答案1

这些命令对我有用:

touch test.txt
stat  test.txt
cat test.txt
echo "" >>test.txt
cat test.txt
stat  test.txt

如果你这样做

echo " " > test.txt

它将从头开始创建一个新文件,需要使用 >> 附加 CR。

也许这就是导致你的问题的原因。

相关内容