gpt4 book ai didi

unix - 在unix中使用AWK替换 "|"单独文件中4列的所有值

转载 作者:行者123 更新时间:2023-12-02 19:06:36 26 4
gpt4 key购买 nike

我有一个|分隔文件并希望替换第 2、4、6、7 列日期从 20200929 到 20201007。

文件:e.lst

1|20200929|mni|20200929|pqr|20200929|20200929
2|20200929|mni|20200929|abc|20200929|20200929
3|20200929|mni|20200929|lmn|20200929|20200929
4|20200929|mni|20200929|stu|20200929|20200929

我尝试的命令适用于 2 列。

awk -F\| '{OFS=FS}$2=20201007, $4=20201007 {print}' e.lst > ne.lst

但是当我向其中添加更多列时,相同的命令会出现语法错误。

awk -F\| '{OFS=FS}$2=20201007, $4=20201007, $6=20201007 {print}' e.lst > ne.lst
^syntax error

最佳答案

您可以使用此 awk 将相同的值分配给单个表达式中的多个列:

awk 'BEGIN {FS=OFS="|"} { $2=$4=$6=$7=20201007 } 1' e.lst > ne.lst

1|20201007|mni|20201007|pqr|20201007|20201007
2|20201007|mni|20201007|abc|20201007|20201007
3|20201007|mni|20201007|lmn|20201007|20201007
4|20201007|mni|20201007|stu|20201007|20201007

关于unix - 在unix中使用AWK替换 "|"单独文件中4列的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64963111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com