是否有一个Unix命令可以将一些字符串数据预先添加到文本文件中?
类似于:
prepend "to be prepended" text.txt发布于 2012-05-15 01:01:02
sed -i.old '1s;^;to be prepended;' inFile-i将更改写在适当的位置,并在给定任何扩展时进行备份。(在本例中,.old)1s;^;to be prepended;使用;作为命令分隔符,用给定的替换字符串替换第一行的开头。发布于 2015-01-15 02:52:44
printf '%s\n%s\n' "to be prepended" "$(cat text.txt)" >text.txt发布于 2017-03-16 06:55:24
进程替换
我很惊讶没有人提到这一点。
cat <(echo "before") text.txt > newfile.txt这可以说比公认的答案更自然(打印一些东西并将其转换为替换命令在字典序上是违反直觉的)。
...and劫持瑞安上面所说的,使用sponge你不需要临时文件:
sudo apt-get install moreutils
<<(echo "to be prepended") < text.txt | sponge text.txt编辑:看起来这在Bourne Shell /bin/sh中不起作用
此处字符串(仅限zsh)
使用here-string - <<<,您可以执行以下操作:
<<< "to be prepended" < text.txt | sponge text.txthttps://stackoverflow.com/questions/10587615
复制相似问题