我有一個包含看起來像這樣的字符串一個相當大的文本文件的東西X量的所有字符串:刪除包含
//a/b/ww/d/ //b/d/we/c/ //a/b/as/d/e/ //af/y/x/f/e/ //b/d/we/c/
我想刪除所有隻有6斜槓在他們的線。
斜線之間的文字是隨機的,可以更長或更短。
所需的輸出:
//a/b/as/d/e/ //af/y/x/f/e/
什麼是做到這一點的最有效方法是什麼?
我有一個包含看起來像這樣的字符串一個相當大的文本文件的東西X量的所有字符串:刪除包含
//a/b/ww/d/ //b/d/we/c/ //a/b/as/d/e/ //af/y/x/f/e/ //b/d/we/c/
我想刪除所有隻有6斜槓在他們的線。
斜線之間的文字是隨機的,可以更長或更短。
所需的輸出:
//a/b/as/d/e/ //af/y/x/f/e/
什麼是做到這一點的最有效方法是什麼?
這是awk
量身定製的作業來計數行動NF
通過/
deliited(字段數量):
awk -F/ 'NF != 7' file
//a/b/as/d/e/
//af/y/x/f/e/
NF==7
意味着有6秒睫毛(分隔符)排成一行。
使用grep和-v
(反向匹配)標誌刪除匹配/
的6個外觀的行。假設您的文件位於@/tmp/test.txt
,該命令將工作:
grep -Ev "^[^\/]*(\/[^\/]*){6}$" /tmp/test.txt
我只是你的榜樣輸入測試它:
$ grep -Ev "^[^\/]*(\/[^\/]*){6}$" /tmp/test.txt
//a/b/as/d/e/
//af/y/x/f/e/