2017-05-30 27 views
-1

を含まない行を削除するsedを使用する方法:私はそれが含まれている場合、行が削除されるべきでないことを意味し、最初の行を除くすべての行を削除する必要が
私は以下のようにファイルを持っているパターン

Thumb Sri Lanka/Anuradhapura/Thumb Anuradhapura.jpg 
Thumb Sri Lanka/Anuradhapura/vtour/panos/Anuradhapura.tiles/mobile/pano_b.jpg 
Thumb Sri Lanka/Anuradhapura/vtour/panos/Anuradhapura.tiles/mobile/pano_d.jpg 
Thumb Sri Lanka/Anuradhapura/vtour/panos/Anuradhapura.tiles/mobile/pano_f.jpg 
Thumb Sri Lanka/Anuradhapura/vtour/panos/Anuradhapura.tiles/mobile/pano_l.jpg 
Thumb Sri Lanka/Anuradhapura/vtour/panos/Anuradhapura.tiles/mobile/pano_r.jpg 
Thumb Sri Lanka/Anuradhapura/vtour/panos/Anuradhapura.tiles/mobile/pano_u.jpg 
Thumb Sri Lanka/Anuradhapura/vtour/plugins/fps.xml 
Thumb Sri Lanka/Anuradhapura/vtour/plugins/gyro2.js 

Thumb[any characters except /].jpg

私はこれを行うにはsedを使用しようとしますが、正規表現を書く方法はわかりません。

私はこのように試してみた:sed -i -e '.*Thumb^(/)\.jpg!d' fileが、それは動作しません。ファイル名は、親指で開始し、その後、一つ以上のcharaters(スラッシュなし)とし、JPGで、あなたはこのような正規表現を使用することができますする必要がある場合

+0

を私に明確ではありません最初の行と2on行の違いは何ですか(削除されますか?)。空白スペース?両方とも 'Thumb [/]以外の任意の文字.jpg'パターンに適合します。 – MarcM

+0

はgrepで、パラメータ '-xv'が正しく動作していませんか? –

+0

@MarcM 'Thumb' +'スラッシュを含むもの '+' .jpg' ---削除。 'Thumb' +'スラッシュを含まないもの '+' .jpg' ---削除しません。 – Yves

答えて

0

は:

Thumb[^\/]*\.jpg 

demo

+0

私は-iセッド'試してみました - e '#Thumb [^ \ /] * \。jpg#!d' file'、それでも動作しません。 – Yves

+0

のsed -i -e '/Thumb[^\/]*\.jpg/!d' ファイル---これは動作します。ありがとう。 – Yves

+0

@ Yves感謝の言葉として答えをマークすることができます:-) – Nino

関連する問題