특수 문자가 포함된 정수를 찾는 방법은 무엇입니까?

특수 문자가 포함된 정수를 찾는 방법은 무엇입니까?

다음 줄을 포함하는 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. Lil Nas X Ft, Billy Ray Cyrus - Old Town Road (Remix).mp3

관련 정보