我想提取具有特定字符串的集合,例如:
文件abc.txt
包含
abc 123
abcd 1234
abcde 12345
abc 123
abcd 123
abcde 12345
abc 123
abcd 1234
abcde 12345
现在从上面的集合中可以看出,在第二集合中,第二行没有1234
。所以我想要提取的是这些具有此类字符串的集合。
abc 123
abcd 123
abcde 12345
答案1
> awk -v RS=$'\n\n' -v FS=$'\n' -v ORS=$'\n\n' '$2 ~ /123$/ {print}' abc.txt
abc 123
abcd 123
abcde 12345
答案2
它是 GNU 的标准程序sed
sed '/abc 123/{:1;$!{N;/\n$/!b1}};/\babcd 123\b/d' abc.txt
或者
sed '/^$/!{:1;$!{N;/\n$/!b1}};/\babcd 123\b/d' abc.txt
如果您面向空行,而不是abc 123
块中的第一个 ( )