gpt4 book ai didi

linux - 使用 Sed 按列替换字符串

转载 作者:IT王子 更新时间:2023-10-29 00:47:21 29 4
gpt4 key购买 nike

鉴于此数据

34 foo
34 bar
34 qux
62 foo1
62 qux
78 qux

如果它是“qux”,我想将第 2 列的字符串替换为“”。结果:

34 foo
34 bar
34
62 foo1
62
78

如何使用 sed 做到这一点?特别是数据非常大,有 ~10^7 行

最佳答案

不会实际上用 sed 来做,因为那不是完成这项工作的最佳工具。每当有人提到列时,awk 工具就是我的首选工具。

cat file | awk '$2 == "qux" { print $1 } $2 != "qux" { print $0 }'

或最简单的形式:

cat file | awk '{ if ($2 == "qux") {$2 = ""}; print }'

如果必须使用sed:

cat file | sed 's/  *qux *$//'

确保您使用正确的空格(以上仅使用空格)。

关于linux - 使用 Sed 按列替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/708081/

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