由于mac系统是原生于bsd系,sed命令和gnu不同,如果想用sed实现在某一行插入一行文本。
gnu sed:
sed "$line a\\(多加一个\,防止后面的$value被转义)$value" $file
mac sed:
sed "$line a\ (注意此处有空格,要在下一行添加文本)
$value(如果想换行要把"写到下一行)
" $file
示例:在test.txt第二行插入xxx
gnu:
sed "2 a\\xxx" test.txt
mac:
sed "2 a\
xxx
" test.txt
i\是在某一行之前插入,操作和a\一样。