可能重复:
如何在多个文件的开头添加标签?
除了在标题处创建一个带有一行的临时文件,并在完成后将其移回,是否有一种标准方法可以将一些行添加到文件中?
即有时你会这样做 (echo #GPL license; cat $file) > tmpfile; mv tmpfile $file
编辑2
首先,我只是想看看是否有通用发行版附带的标准命令,我想没有
编辑
请注意,要添加的源可能不仅仅是一个固定的字符串,它也可能是一个文件,即 cat $header $file > tmpfile; mv tmpfile $file
Gur*_*uru 31
如果 sed(GNU) 适合你:
$ sed -i '1i #GPL License' file
Run Code Online (Sandbox Code Playgroud)
如果源是文件:
源文件:
$ cat file1
hi
hello
$ cat file2
welcome to
Unix SO.
Run Code Online (Sandbox Code Playgroud)
sed 命令:
$ sed -i '1{
r file1
h;d
};2{H;g;}' file2
Run Code Online (Sandbox Code Playgroud)
sed 命令后的输出:
$ cat file2
hi
hello
welcome to
Unix SO.
Run Code Online (Sandbox Code Playgroud)
sed 的 'r' 命令无法读取第一行之前的文件,因此该解决方案。第一行保留在保持内存中,file1 的内容被发送到终端,然后当第二行出现时,它与第一行一起打印。
| 归档时间: |
|
| 查看次数: |
20582 次 |
| 最近记录: |