【发布时间】:2016-06-12 06:55:18
【问题描述】:
我正在输入一个脚本,它可以读取 file_name、delimiter 和 field_number。之后,为每一行输入一个输入,替换字段(由 field_number 指定)并输出到同一个文件。
例如如果输入如下:
Ritesh;M;1992 释迦;F;1993
对于命令
bash_script.sh test.csv ";" 3
如果我第一个输入 1994,第二个输入 1995,则遍历每一行。我希望输出在同一个文件中如下所示。
Ritesh;M;1994 释迦;F;1995
到目前为止,我设法达到了这一点:
#!/usr/bin/env bash
echo "Following is the input needed:";
echo "\$1: FILE_NAME";
echo "\$2: DELIMITER";
echo "\$3: FIELD IN NUMERIC VALUE";
gawk -i inplace -F "$2" '{...}' $1;
我的gawk 版本也不支持-i。
提前致谢。
【问题讨论】:
-
如果你的 gawk 不支持 -i,为什么它在你现在所拥有的例子中......?
-
您的脚本输入是
test.csvv和3然后您将1992转换为1994和1993转换为1995。对吗? -
@123 我可以只写一个 tmp 文件,然后再将其 mv 或其他类似的方法,所以这不是一个主要问题。只是提到它。
-
@claudiom input is test.csv, delimiter ";, field to modity 3. and the rest as you say it.
-
@riteshakya037 哪个是替换逻辑?
1994为M和1995为F?