小编Ash*_*hok的帖子

使用sed或awk用另一个值替换字段

我有一个带有以下行的文本文件说;

100 200 300
50 120 200
60 500 340
Run Code Online (Sandbox Code Playgroud)

我正在编写一个脚本来根据用户输入更改任何字段的值.如果用户在bash中给出no($ colno)列和行号($ rowno),我使用以下代码来确定要替换的确切字段.

awk -v i=$colno -v j=$rowno 'NR ==j {print $i}' file
Run Code Online (Sandbox Code Playgroud)

因此,如果用户将$ colno设为1,将$ rownno设为3,则可以在第3行(60)中找到$ 1字段.

现在我想用其他一些用户给定的值($ new_val)永久地替换这个值(60).

我怎么能用sed或awk做到这一点?这段代码将允许我使用用户指定的新值更改用户指定的任何字段.代码不应更改任何其他字段,即使具有相同的值.

请帮我.提前感谢你.

bash awk sed

2
推荐指数
1
解决办法
416
查看次数

标签 统计

awk ×1

bash ×1

sed ×1