Как сопоставить одно имя файла другому имени в Linux? - PullRequest
0 голосов
/ 28 октября 2018

У меня есть List.txt со списком тысяч папок и файлов из них, который выглядит примерно так:

cat List.txt

folder1, filestar
folder2, filefish
folder3, filedoll
folder4, filegoose

и это продолжается. И у меня есть имена файлов в отдельных каталогах (имена каталогов: sample1, sample2, sample3 ...), которые соответствуют именам файлов в List.txt. Итак, вопрос в том, как найти совпадающие имена файлов с файлами папок в списке? И я нашел команду, которая перечисляет только файлы внутри каталогов.

ls -lA sample* | awk -F':[0-9]* ' '/:/{print $2}' | awk 'BEGIN { ORS = " " } { print }'

Я просто не знаю, как печатать только файлы, которые совпадают с именами файлов List.txt

1 Ответ

0 голосов
/ 28 октября 2018

Попробуйте это:

awk 'NR==FNR{a[$2]=1;next}$NF in a' List.txt FS=/ <(find)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...