3

タイトルがすべてを表していると思います.特定の文字、たとえば / が x 回以上 (たとえば 5 回) 表示されるファイルの行を削除するワンライナーを探しています。

始める:

/Bo/byl/アポイント

スタックオーバーフロー

月/

期待される結果:

/Bo/byl/アポイント

月/

ご提案ありがとうございます。

4

5 に答える 5

3

あなたに必要なのは:

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/
于 2013-06-07T13:40:43.943 に答える
3

これはうまくいくかもしれません(GNU sed):

sed 's|/|&|5;T;d' file
于 2013-06-07T05:51:12.940 に答える
0

sedここで十分だと思います。//d正しい状態を調べて提供する必要があります。私は何かを試して、より良いアイデアがあれば更新するつもりです。あなたもそうすべきです:)

見つかったらsed -i /{blah}/d、ファイル内で変更するだけで十分ですが、 を使用せずに実行し、最初に-iパイプして、思ったとおりに動作してlessいることを確認することをお勧めします。

于 2013-06-07T01:26:42.710 に答える
0

これは次のようになります:

sed -r '/(\/.*){5}\//d' file
于 2013-06-07T05:45:08.253 に答える