Як знайти файли, що містять новий рядок у назві файлу?


10

Я намагаюся знайти файли з новим рядком у назві файлу. Але я не можу зрозуміти, який шаблон використовувати.

Далі працює, але не дуже корисно, якщо я хочу використовувати його в відступному коді.

find . -name '*
*'

Я спробував ці два, і їм вдалося лише знайти імена файлів, які містили букву n :

find . -name '*\n*'
find . -name "*\n*"

Тоді я знайшов, як записати послідовності втечі зворотної косої лінії і спробував це:

find . -name "*$'\n'*"

Але це нічого не знаходить. Як слід написати шаблон?

Відповіді:


13

У сценаріях оболонок все є рядком. Ви дійсно потрібно процитувати , *щоб запобігти розширення імені файлу , але ви не хочете , щоб поставити послідовність зворотної косої межі втечу в подвійних лапках.

Ви можете просто з'єднати рядки, розмістивши їх відразу один за одним.

find . -name '*'$'\n''*'

Але для кращої читабельності ви можете використовувати цитування ANSI-C для всього рядка.

find . -name $'*\n*'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.