创建新的空文件时,如何向其中添加换行符?
运行这些命令:
$ 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。
也许这就是导致你的问题的原因。