タイトルがすべてを表していると思います.特定の文字、たとえば / が x 回以上 (たとえば 5 回) 表示されるファイルの行を削除するワンライナーを探しています。
始める:
/Bo/byl/アポイント
スタックオーバーフロー
月/
期待される結果:
/Bo/byl/アポイント
月/
ご提案ありがとうございます。
あなたに必要なのは:
awk -F/ 'NF<6' file
見て:
$ cat file
/Bo/byl/apointe
S/ta/ck/ov/er/flo/w
M/oon/
$ awk -F/ 'NF<6' file
/Bo/byl/apointe
M/oon/
これはうまくいくかもしれません(GNU sed):
sed 's|/|&|5;T;d' file
sed
ここで十分だと思います。//d
正しい状態を調べて提供する必要があります。私は何かを試して、より良いアイデアがあれば更新するつもりです。あなたもそうすべきです:)
見つかったらsed -i /{blah}/d
、ファイル内で変更するだけで十分ですが、 を使用せずに実行し、最初に-i
パイプして、思ったとおりに動作してless
いることを確認することをお勧めします。
これは次のようになります:
sed -r '/(\/.*){5}\//d' file