Я хотел бы попросить UNIX однострочную, чтобы сделать это
Я получаю имена файлов по find . -type f > filenames.txt
, но я бы хотел получить текстовый файл, похожий на этот:
filename;filenamekey
./fn123456789X-5.txt;./123456789X5.
второе поле должно содержать имя файла, заменяемое всеми символами ([a-yA-Y], кроме чисел). Причина в том, что это поле состоит из номеров ISBN (состоит из 0-9 и X), которые являются полем моего ключа.
затем я выполняю поиск по имени файла, например так. Select filename from books where filenamekey like '%123456789X%';
В именах файлов не обязательно должен быть номер ISBN, но это возможно. В случае отсутствия ISBN ключ должен быть пустым или ненужным.
Я попробовал это:
find . -type f > filenames1.txt
cat filename1.txt | sed -e 's/[^0-9X\/\.]//g' > filenamekey1.txt
paste filename1.txt filenamekey1.txt | awk '{print $1,$2}'
будет ли сложный однострочник?
большое спасибо!