次の行を含む test というファイルがあります。
1. Lil Nas X Ft, Billy Ray Cyrus - Old Town Road (Remix).mp3
10. Mark Ronson - Find U Again (feat. Camila Cabello).mp3
11. Mabel - Mad Love.mp3
12. Sigala & Becky Hill - Wish You Well.mp3
13. CamelPhat & Jake Bugg - Be Someone.mp3
14. Jess Glynne & Jax Jones - One Touch.mp3
15. Zara Larsson - Don't Worry Bout Me.mp3
16. Pink Ft, Cash Cash - Can We Pretend.mp3
17. Jax Jones & Martin Solveig & Madison Beer - All Day And Night (Jax Jones & Martin Solveig Present Europa).mp3
18. Martin Garrix - Summer Days (feat. Macklemore & Patrick Stump of Fall Out Boy).mp3
19. Little Mix - Bounce Back.mp3
曲名を表す1.を使って最初の列をgrepしたいと思います。私が使用するコマンドは次のとおりです。
#cat test | grep -w "1."
1. Lil Nas X Ft, Billy Ray Cyrus - Old Town Road (Remix).mp3
10. Mark Ronson - Find U Again (feat. Camila Cabello).mp3
11. Mabel - Mad Love.mp3
12. Sigala & Becky Hill - Wish You Well.mp3
13. CamelPhat & Jake Bugg - Be Someone.mp3
14. Jess Glynne & Jax Jones - One Touch.mp3
15. Zara Larsson - Don't Worry Bout Me.mp3
16. Pink Ft, Cash Cash - Can We Pretend.mp3
17. Jax Jones & Martin Solveig & Madison Beer - All Day And Night (Jax Jones & Martin Solveig Present Europa).mp3
18. Martin Garrix - Summer Days (feat. Macklemore & Patrick Stump of Fall Out Boy).mp3
19. Little Mix - Bounce Back.mp3
すべてが醸造されているようです。しかし、次のように見なければなりません。
1. Lil Nas X Ft, Billy Ray Cyrus - Old Town Road (Remix).mp3
答え1
固定文字列であっても1.
一致します11.
。しかし、文字列ではなく正規表現なので、一部の文字は一致するリテラルの代わりにルールを適用します。
ドットは「を置き換えます。すべての文字リテラルポイントを一致させるには、「;」でエスケープする必要があります。行の先頭にのみ一致するように、行\.
開始マーカー(キャレット、^
)を含めることもできます。1.
(そして他の多くのコマンドも)ファイル名を直接受け入れるので、あきらめることもcat
できます。grep
そうすれば、次のようなものが得られます。
grep '^1\.' test
データセット内の1行だけが一致します。
1. Lil Nas X Ft, Billy Ray Cyrus - Old Town Road (Remix).mp3