有时候我们需要将一个文件的首部或尾部追加一些内容,可能是字符串或者二进制或者文件。我们可以写一个C语言小程序读写文件来实现,但是这样略有些麻烦,有没有可能通过命令行搞定这一需求呢?
一番摸索以后,发现是可以的。现举例如下:
情形一:在一个文件首部追加字符串
无法在一个文件首部追加,实际做法是先创建一个包含需要追加的字符串内容的新的文件,再把该文件追加到这个新的文件。
echo -n "ABCD" > newfile
这样文件的内容就是“ABCD”,这里使用echo -n是为了使得追加后的内容不带有换行符\n
如果需要追加的内容里含有转义字符,就要用echo -e
实现同样的功能还可以使用printf,而且printf的控制更加灵活,比如printf "\x41\x42\x43" > newfile就可以实现16进制的任意字符的追加。
接着敲命令cat oldfile >> newfile,目的达到了。
情形二:在一个文件尾部追加字符串
同情形一,使用echo或printf,只是把>换成>>
情形三:在一个文件尾部追加文件
同情形二,使用cat命令
最后说明一下,要注意的这些命令都要求是在shell中执行,如果使用Windows系统,不要使用cmd,而应该使用git bash。