Создайте несколько файлов, используя файл, содержащий имена файлов, используя bash

Как говорилось в комментариях, мои скрипты не присваивали значения моим переменным. Теперь я исправил это. Большое спасибо!

1
07.04.2020, 18:30
3 ответа

Вы можете заменить запятые символами новой строки с помощью trи прочитать результат в массив:

mapfile -t fnames < <(tr ',' '\n' < file)
touch "${fnames[@]/%/.md}"

Расширение параметра ${fnames[@]/%/.md}заменяет конец каждого элемента массива(%)суффиксом .md.

2
28.04.2021, 23:18

Вы можете попробовать что-то вроде этого:

tr ',' '\n' < file | xargs -0 -I {} touch {}.md
0
28.04.2021, 23:18

Просто преобразуйте запятую в новую строку, а затем прочитайте имена файлов:

sed 's/,/\n/g' file | while read fileName; do touch "$fileName".md; done

или:

tr, '\n' < file | while read fileName; do touch "$fileName".md; done
1
28.04.2021, 23:18

Теги

Похожие вопросы