gpt4 book ai didi

linux - 如何在 Linux 中使用 awk/sed 或其他命令删除某些字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 05:39:41 24 4
gpt4 key购买 nike

我想问一下,在linux下如何用命令删除一些字符串?

cat /data/filename.txt 
A|2|3|4|5|6|7|8|9|10|0030|12|05/09/17
B|2|3|4|5|6|7|8|9|10|00045|12|05/09/17
C|2|3|4|5|6|7|8|9|10|061|12|05/09/17

和输出:

cat /data/filename.txt 
A|2|3|4|5|6|7|8|9|10|30|12|05/09/17
B|2|3|4|5|6|7|8|9|10|45|12|05/09/17
C|2|3|4|5|6|7|8|9|10|61|12|05/09/17

最佳答案

尝试:

awk -F"|" '{sub(/^0+/,"",$11)} 1' OFS="|"   Input_file

将字段分隔符设置为 |然后根据您的要求用第 111 个字段的 NULL 替换起始零,提及 1 将打印新编辑的行(如果有任何零被 NULL 替换),将输出字段分隔符设置为 |然后提到Input_file。

编辑:添加第二个解决方案,将 -000 删除到第 11 个字段,如下所示。

awk -F"|" '{sub(/^0+/,"",$11);sub(/-0+/,"-",$11)} 1' OFS="|" Input_file

我在这里做|作为字段分隔符,然后将第 11 个字段中的起始零替换为 NULL,然后将 -0+ 表示从 -0 到所有零也替换为 NULL,然后 1 将打印这些行。将输出字段分隔符设置为 |也是。

关于linux - 如何在 Linux 中使用 awk/sed 或其他命令删除某些字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43865142/

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