【发布时间】:2016-07-17 12:15:59
【问题描述】:
我正在尝试使用以下形式访问文件的字段
F1|F2|F3|F4|F5|F6|F7|F8
用户会给我命令:
./tool.sh -f file --edit id列值
tool.sh是代码文件的名称,id是第一个字段column是需要替换值的列value 是我必须替换的字符串(F1),我必须扫描文件查找 id 匹配的位置,当我找到正确的行时需要转到右列(这将由用户)并将 F(列)替换为 值。 这是我的一个想法:
awk -v id="$4" -v column = "$5" -v value = "$6" -F"|"
'BEGIN{OFS="|"} ($1 == id){$(column)=value;}' $2
我将在 awk 中设置值并在其中使用它们,但我得到了
awk: cmd. line:1: fatal: cannot open file `=' for reading (No such file or directory)
我是 bash shell 的新手,你可能会看到很大的错误
【问题讨论】:
-
./tool.sh -f people.txt --edit 933 2 字符串被替换