-1

我有一个命令:./start.sh version

我有一个1.txt指定版本的文件。

some_pattern=something
some_pattern=something
Fix_Version=install_v.1
some_pattern=something
some_pattern=something

有另一个install.sh执行命令的文件,但我希望该文件捕获版本并执行命令。

somecommands
somecommands
(./start.sh version)
somecommands
somecommands

所以,结果应该是这样的:./start.sh install_v.1并执行它。从两个文件中读取,仅搜索./start.shininstall.sh和 in1.txt查找版本并执行命令./start.sh install_v.1

4

1 回答 1

1

使用这个 awk:

awk -F '[ =]+' 'FNR==NR && $1=="Fix_Version"{ver=$2;next} FNR!=NR{if ($1~/start\.sh/) $0 = $1 " " ver ")"; print $0}' a.txt install.sh
somecommands
somecommands
(./start.sh install_v.1)
somecommands
somecommands
于 2013-09-01T18:21:39.113 回答