Как вы используете файлы с пробелами в (Linux)?Linux

Ответить
Anonymous
 Как вы используете файлы с пробелами в (Linux)?

Сообщение Anonymous »

Я использую Cygwin под Windows. Под Windows я создал файлы с пробелами. Я хотел бы убрать пробелы. Файлов достаточно, поэтому сделать их по отдельности нецелесообразно. Я пробовал:

Код: Выделить всё

find . -type f | grep ' ' > file
for i in $(cat file); do mv $i `echo $i | tr ' ' '_'`;done

and
find . -type f | grep ' ' | sed -e 's/ /\\ /g' > file
for i in $(cat file); do mv $i `echo $i | tr ' ' '_'`;done

and
find . -type f | grep ' ' | sed -e 's/ /qq/g' > file
for i in $(cat file); do mv `echo $i | sed -e 's#qq#\\ #g'` `echo $i | sed -e 's#qq#_#g';done
Последний вариант завершается с ошибкой от mv: «цель... Нет такого файла или каталога» с правильно указанным целевым объектом.
Цикл for рассматривает пробелы как разделитель и игнорирует косую черту (\), одинарную кавычку (') и двойную кавычку ("). Но когда я вставляю конкретный файл, например:

Код: Выделить всё

for i in 'a b c'; do echo $i;done
он ​​распознает «ab c» как единый объект.
Сбой в команде mv Я не понимаю. mv жалуется, что файл, который я хочу создать, не существует.
Я не могу придумать другой вариант.

Подробнее здесь: https://stackoverflow.com/questions/798 ... a-linuxfor
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»