LINUX.ORG.RU

создание файлов из списка


0

1

есть файл с произвольными именами типа

ututuytui jgjgjgjhg bjjjjhjbj

тема обсуждалась здесь создание файлов из списка

Нужно ещё удалить перенос строки в конце имени файла.



Последнее исправление: serg131 (всего исправлений: 1)

Возможно, вы удивитесь, но вообще-то в мире bash мало изменений произошло с тех времен.

Дык, варианты dilmah и swizard - вроде норм. Только в первом директорию нужно учесть: ( cd; xargs ... ) и лидирующий `-'. А второй теряет оконечные пробельные символы (тоже можно окостылить).

<list awk -v ORS='\0' '$0="./"$0' | ( cd "$DIR"; xargs -0 touch )

Ну или как в оригинале tr с предварительным sed.

Нужно ещё удалить перенос строки в конце имени файла

Там он во всех вариантах удаляется, сложно его оставить).

anonymous
()

в конце имени файла.

А, самого файла, а не содержимого? $(..) удаляет все (если нужен только один - не катит) конечные \n, можно просто mv ./«$arg» ./«$(printf »%s" «$arg»)"

anonymous
()
Ответ на: комментарий от CYB3R

Если бы вы попробовали запускать варианты по ссылке, то заметили бы в конце остаётся перенос строки, например так 000003%0D.html необходимо удалить %0D ...Проявляется во всех вариантах предложенных по ссылке.

while read -r F; do touch «$F».html; done < name.txt

serg131
() автор топика
Ответ на: Например, так от CYB3R

спасибо. получилось, добавлялось \r интересно откуда он вылазил?

while read -r F; do echo $F | sed -e 's/\r//g' -e 's/$/.html/g' | xargs touch; done < name.txt

serg131
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.