0

sedコマンドを使用して最初の2行を削除していますが、コンテンツをファイルにリダイレクトすると、行数が表示されます。どうすれば削除できますかわかりません。

私は実行します:

sed '7,9d' mi_fichero.txt

そして結果は次のとおりです。

(最後の行を書きます)

 /XTENT/D3/REPOSITORY/20120305/2201/65601/84/1330951636844_D3_448987414829688495_.indd.gz
 /XTENT/D3/REPOSITORY/20120308/2201/65601/22/1331198783835_D3_3411473776849856760_.indd.gz
 /XTENT/D3/REPOSITORY/20120308/2201/65601/158/1331220874606_D3_2742969984589497048_.indd.gz
 /XTENT/D3/REPOSITORY/20120313/2201/65601/0/1331626743284_D3_7551629114585379089_.indd.gz
 /XTENT/D3/REPOSITORY/20120309/2201/65601/92/1331295878839_D3_4724445611762228808_.indd.gz
(60 rows)

行(60行)を削除したいのですが、誰か助けてくれますか?

ありがとう :)

4

2 に答える 2

4

これはあなたのために働くかもしれません(GNU sed):

sed -i '7,9d;$d' file
于 2012-10-24T14:53:42.477 に答える
0

すでに正しい答えがあり、これはsedではありませんが、awkを使用してこれを行う別の方法です

awk -v nl=$(wc -l < mi_fichero.txt) 'NR!=7 && NR!=9 && NR!=nl {print $0}' mi_fichero.txt
于 2012-10-24T15:11:13.350 に答える