让我们考虑一个包含下一行的列表:
site.com/link1/index.php
site.org/link1/index.php
site.com/link2/page/index.php
site.ru/link1/index.php
site.no/link3/index.php
site.com/link3/index.php
site.no/link/page/index.php
我该如何grep并将仅包含域扩展名后的特定字符串的行保存并保存在单独的文件中(例如.ru,.com,.no,.org) 例如,我只想保存包含link1,org link2的行... 谢谢
答案 0 :(得分:0)
您可以使用-E
选项(正则表达式)。就您而言,应该是:
grep -E "\.\w{2,3}\/link[12]" yourFile.txt > newFile.txt
位置:
-E
表示正则表达式; > newFile.txt
将结果放入
newfile.txt中grep的内容; 关于正则表达式:
\.\w{2,3}
表示所有包含点(\.
)的行
2个或3个单词字符(\w{2,3}
); \/link[12]
的斜杠(\/
)后跟文本link
,反之则必须后面跟数字1或2([12]
)。您可以将[12]
更改为\d+
,这表示任何具有一位或多位数字的数字。希望能为您提供帮助。