Фон
У меня есть file
имен файлов примерно так:
something.txt
another.cpp
whoa.cxx
...
Я хочу создать соответствующий текстовый файл для каждого как такового в текущем каталоге:
./something.txt.docx
./another.cpp.docx
./whoa.cxx.docx
Это должна быть очень простая операция ... но последовательность команд, о которых я думаю, не имеет смысла логически:
Попытки решения
Прикоснись к коту: cat file | touch <not sure what to put here>.docx
.
a. Как вы можете видеть, я не знаю, как добавить расширение .docx к каждому имени файла, с которым я сталкиваюсь, и я не знаю, как аккуратно выполнить добавление регулярных выражений таким образом. Справочная страница touch , похоже, также не поможет в этом вопросе.
Трубка в xargs touch: cat file | xargs -I{} touch {}.docx
a. Я намеревался использовать опцию -I , чтобы буквально добавить .docx, чтобы получить результат, показанный выше. Ниже приведена предполагаемая функциональность -I:
-I replace-str
Заменить вхождения replace-str в исходных аргументах именами, прочитанными изстандартный ввод. Кроме того, пробелы без кавычек не заканчивают элементы ввода;вместо этого разделителем является символ перевода строки. Подразумевает -x и -L 1.
Это выдало ошибку xargs: .docx: No such file or directory
.
Вопрос
Как перебрать файл и создать соответствующие .docx для каждой строки в файле?