sed可以在不显式打开文件的情况下修改文件。比如要将第一行替换为k=100,如下命令:sed –i ‘1c/k=100’ textfile.txt. 假如让100变为参数,例如n, 然后让n=100, 200, 300, ….可以写成脚本:
1: for n in $(seq 100 100 500)
2: do
3: sed -e '1c/k=$n' textfile.txt > texfile.out.txt
4: done
但是这样是不行,因为在bash中单引号中的算是literal,不能变量代入。但是使用双引号就没有问题了。
1: for n in $(seq 100 100 500)
2: do
3: sed –e "1c/k=$n" textfile.txt > textfile-$n.txt
4: #sed –e 1c/k="$n" textfile.txt > textfile-$n.txt
5: done
问题解决了。