下面有一个样例文本文件(test_long_sentence.txt),我想要grep所有包含test1的行,不包括不需要的数据。
如何在报价结束前重新计算数据?
test_long_sentence.txt
This is some unwanted data blah blah blah
20 /test1/catergory="Food"
20 /test1/target="Adults, \"Goblins\", Elderly,
Babies, \"Witch\",
Faaries"
20 /test1/type="Western"
This is some unwanted data blah blah blah
20 /test1/theme="Halloween"命令:
grep "test1" test_long_sentence.txt实际产出:
20 /test1/catergory="food"
20 /test1/target="Adults, \"Goblins\", Elderly,
20 /test1/type="Western"
20 /test1/theme="Halloween"预期产出:
20 /test1/catergory="food"
20 /test1/target="Adults, \"Goblins\", Elderly,
Babies, \"Witch\",
Faaries"
20 /test1/type="Western"
20 /test1/theme="Halloween"Ps:我无法控制test_long_sentence.txt的编辑。所以请不要让我把它编辑成一行。
发布于 2018-02-12 02:32:58
这并不完美,但它可能对你有用:
grep -A 1 "test1" test_long_sentence.txt | grep -E 'test1|"$'grep -A 1在比赛后取一条额外的行grep -E ...才会保留匹配的行和下一行。它假定要提取的文本不超过两行。
https://stackoverflow.com/questions/48738765
复制相似问题