gpt4 book ai didi

regex - 删除具有特定模式的行

转载 作者:行者123 更新时间:2023-12-01 09:00:56 25 4
gpt4 key购买 nike

您好,我必须删除文件中的一些行:

file 1
1 2 3
4 5 6

file 2
1 2 3 6
5 7 8 7
4 5 6 9

我必须删除在文件 2 中找到的文件 1 的所有行:

output
5 7 8 7

我用过 sed:

for sample_index in $(seq 1 3)
do
sample=$(awk 'NR=='$sample_index'' file1)
sed "/${sample}/d" file2 > tmp
done

但它不起作用。它不打印任何东西。你有什么想法吗?它给了我“sed:-e 表达式#1,char 0:需要先例正则表达式”的错误

最佳答案

这可能是一个开始:

$ grep -vf file1 file2
5 7 8 7

这里的一个潜在缺陷是,如果将 5 6 9 作为 file1 的第二行,输出不会改变。我不确定你是否想要。如果没有,你可以试试

grep -vf <(sed 's/^/^/' file1) file2

关于regex - 删除具有特定模式的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17217868/

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