:~$ sed -i "1i#! /bin/sh -" a
执行后,在a文件的第一行插入#! /bin/sh -
2、在文件的指定行(n)插入指定内容:
:~$ sed -i "niecho "haha"" a
执行后,在a文件的第n行插入echo "haha"
3、在文件的末尾行插入指定内容:
用第二种方法也可以。一般实现:
:~$ echo “haha” >>a
执行后,在a文件的末尾行插入haha
在Linux,有几种方法可以用来向文件的末尾追加内容。方法一、双大于号>>
结合cat把一个文件的内容追加到另外一个文件的末尾:
cat 1.txt >>2.txt
结合echo向文件的末尾追加内容:
echo "hello" >>2.txt
注意:双大于号">>"表示内容追加,但大于号">"则是覆盖目标文件的内容。
方法二、使用命令tee -a
tee -a 会输出内容到标准输出的同时,追加到文件file中。如果文件不存在,则创建;如果已经存在,就在末尾追加内容,而不是覆盖。《Linux就该这么学》一起学习
如果少了-a,则是覆盖。
结合cat把一个文件的内容追加到另外一个文件的末尾:
cat 1.txt | tee -a 2.txt
结合echo向文件的末尾追加内容:
echo "hello" | tee -a 2.txt
最近需要在一个二进制文件的前面添加一个header, 网络上大体搜索了一下, 没有得到答案。于是自己找到一个办法, 有点土,但是能用。放在这里,供参考。
如下就是我的脚本:
#!/bin/sh
output=obm.bin
rm $output
#firstly generate a header
header=0x0008ffbb
header1=`expr substr $header 9 2`
header2=`expr substr $header 7 2`
header3=`expr substr $header 5 2`
header4=`expr substr $header 3 2`
echo -n -e "/x${header1}" >$output
echo -n -e "/x${header2}" >>$output
echo -n -e "/x${header3}" >>$output
echo -n -e "/x${header4}" >>$output
#now add obm.bin
cat ../build/$output >>$output
说明:利用echo 的扩展功能, 可以一次往一个二进制文件输入一位或者两位 16进制数字。 我们把需要输入的 header 分解出来, 分别输出到二进制文件, 从而达到目的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)