Как создать файлы, используя строки в TXT-файле?

Например, у меня есть файл с именем fileNames.txt. cat >fileNames возвращается

 abet able abacus в abet able abacus 

Как использовать имена файлов для создания abet, able и abacus в виде файлов .txt? Я пытался использовать трубы с кошкой и прикосновением, но я новичок в этом, поэтому я не знаю, что еще попробовать.

3 Solutions collect form web for “Как создать файлы, используя строки в TXT-файле?”

Существует множество способов сделать это, включая следующие (при условии GNU xargs ):

 sed -e '/^[[:space:]]*$/d' -e 's/$/.txt/' fileNames.txt | xargs -rd '\n' touch -- 

Это предполагает, что в файле fileNames.txt имеется только одно имя файла. Сценарий sed удаляет пустые строки (благодаря @rubynorails) и добавляет «.txt» в конец каждого имени файла, прежде чем xargs touch их с xargs touch .

Используя параметр -d '\n' с xargs (расширение GNU, которое указывает xargs использовать только новую xargs или '\ n' как разделитель, а не любые пробелы, и отключает обработку котировок), это даже справляется с именами файлов, которые имеют пробелы и другие потенциально проблематичные символы (кроме \n или самой новой строки). например, если строка содержит «abet able», без -d '\n' , будут созданы два файла ( able.txt и able.txt ). С его abet able.txt будет создан только один файл abet able.txt .

Вы можете использовать перенаправление ввода в цикле while с командой чтения

 while read line; do touch "${line}.txt" done < fileNames.txt 

awk 'NF>0' fileNames.txt | while read line; do touch "${line}.txt"; done

Команда awk просто избавляется от пустых строк.

Насколько я знаю, эти строки также являются буквальными, поэтому все, что находится на линии, записывается как имя файла.

  • Сохранять виды в нескольких терминалах экрана
  • Как избежать кавычек в оболочке?
  • Как я могу найти файл с фиксированной длиной имени, используя ls?
  • Как я могу получить результат и проверить команду dig?
  • используя `for file in` для выбора нескольких имен расширений, затем получите базовое имя« файла », затем объедините имя расширения
  • Соответствие двух файлов по строкам?
  • Изменить каталог с помощью -d в сценарии оболочки
  • Довольно выход в GHCI: нет цветов
  • Могу ли я указать перенаправленный вход перед составной командой?
  • Настройка переменных среды с .sh-файлом
  • Почему эти две команды «cat» приводятся по-разному?
  • Linux и Unix - лучшая ОС в мире.