我正在为以下命令寻找其他替代方案/更智能的 1 类轮,它应该为请求的列号添加一个值。
我尝试按照以下 sed 命令正常工作以将值 4 添加到第 4 列。
[需要:因为我有这样的文件,其中包含 1000 条记录,很多时候我需要在任何位置之间添加一列。]
我的方法仅适用于较小规模。cat 1.txt
1|2|3|5
1|2|3|5
1|2|3|5
1|2|3|5
sed -i 's/1|2|3|/1|2|3|4|/g' 1.txt
cat 1.txt
1|2|3|4|5
1|2|3|4|5
1|2|3|4|5
1|2|3|4|5
提前谢谢。
最佳答案
字段分隔符
http://www.gnu.org/software/gawk/manual/html_node/Field-Separators.html
字符串连接
http://www.gnu.org/software/gawk/manual/html_node/Concatenation.html
默认模式和操作
http://www.gnu.org/software/gawk/manual/html_node/Very-Simple.html
awk -v FS='|' -v OFS='|' '{$3=$3"|"4} 1' 1.txt
关于shell - 在 unix 中向文件中的任意位置添加一列 [使用 awk 或 sed],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11627382/