file1包含:
first=stan
last=smith
我想创建包含
的file2first=homer
last=simpson
script.sh包含
#!/bin/bash
sed s/stan/$1/ file1 >tempfile
sed s/smith/$2/ tempfile >file2
rm tempfile
script.sh本垒打辛普森做我想要的。
有没有更好的方法在bash脚本中执行此操作而不创建和删除tempfile?
答案 0 :(得分:1)
是的,你可以:
$ s1="homer"
$ s2="simpson"
$ sed -e "s/stan/$s1/g" -e "s/smith/$s2/g" file1 > file2
$ cat file2
first=homer
last=simpson
如您所见,-e
选项用于在同一行中执行两个不同的sed命令。
在bash脚本中:
#!/bin/bash
sed -e "s/stan/$1/g" -e "s/smith/$2/g" file1 > file2
答案 1 :(得分:0)