文件 1 包含:
first=stan
last=smith
我想创建包含
first=homer
last=simpson
script.sh 包含
#!/bin/bash
sed s/stan/$1/ file1 >tempfile
sed s/smith/$2/ tempfile >file2
rm tempfile
script.sh 本垒打辛普森做我想要的。
有没有更好的方法在 bash 脚本中执行此操作而无需创建和删除临时文件?
文件 1 包含:
first=stan
last=smith
我想创建包含
first=homer
last=simpson
script.sh 包含
#!/bin/bash
sed s/stan/$1/ file1 >tempfile
sed s/smith/$2/ tempfile >file2
rm tempfile
script.sh 本垒打辛普森做我想要的。
有没有更好的方法在 bash 脚本中执行此操作而无需创建和删除临时文件?
是的你可以:
$ 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