Как говорилось в комментариях, мои скрипты не присваивали значения моим переменным. Теперь я исправил это. Большое спасибо!
Вы можете заменить запятые символами новой строки с помощью tr
и прочитать результат в массив:
mapfile -t fnames < <(tr ',' '\n' < file)
touch "${fnames[@]/%/.md}"
Расширение параметра ${fnames[@]/%/.md}
заменяет конец каждого элемента массива(%
)суффиксом .md
.
Вы можете попробовать что-то вроде этого:
tr ',' '\n' < file | xargs -0 -I {} touch {}.md
Просто преобразуйте запятую в новую строку, а затем прочитайте имена файлов:
sed 's/,/\n/g' file | while read fileName; do touch "$fileName".md; done
или:
tr, '\n' < file | while read fileName; do touch "$fileName".md; done