-1

我有 2 个变量:

varString = abcd
varNumber = 12345

我想在一个名为textFile.txt. 该行将如下所示:

abcd:11111:blah:00000:blah

所有字段的长度未知。

我想找到 abcd 行,并将11111位更改varNumber12345之后文件上的行将是:

abcd:12345:blah:00000:blah

有什么帮助吗?

4

2 回答 2

1

这样的事情会做:

sed -e "s/\($varString\):\([0-9]*\):/\1:$varNumber:/g" textFile.txt

$varString:<digits>:它用替换字符串$varString:$varNumber:。输出开启stdout。要进行就地编辑,请-i '~'提供sed.

于 2013-04-09T09:18:13.303 回答
0

使用awk

awk -F: -v OFS=: -v varString=abcd -v varNumber=12345 '{if($1==varString)$2=varNumber;print}' file
于 2013-04-09T09:23:39.917 回答