Найти все файлы для входа и добавить строку в журнал BASH

226
Mike

Найдите все файлы в папке, создайте список (журнал) и журнал в начале каждой строки Добавить в строку "mkdir -p / VOLUME1 / path

Как это:

/volume1/TEST/folder1/1.jpg /Volume1/TEST/folder2/2.jpg 

Пытаюсь это: 1 # cd directory:

cd /volume1/TEST 

2 # сделать ЛОГ

ls **/* >/volume1/log.txt 

3 # добавить новый путь (строка)

sed -e 's/^/mkdir -p /VOLUME1/TEST2/' /volume1/log.txt >/volume1/log2.txt 

Мне нужно это: добавить на каждой строке:

mkdir -p /Volume1/TEST2/folder1/1.jpg mkdir -p /Volume1/TEST2/folder2/2.jpg . . 

но мой вывод "/Volume1/TEST2/ folder1/1.jpg" (я скучаю, "mkdir -p/Volume1/"и разрыв более того

(LINUX)

0

1 ответ на вопрос

0
manuelvigarcia

You need to escape the backslashes. At least, it did work for me:

sed -e 's/^/mkdir -p \/VOLUME1\/TEST2\//' log.txt > log2.txt 

The beginning of the result:

mkdir -p /VOLUME1/TEST2/confEclipse/MIT-Eclipse-CheckStyle-20160408.xml mkdir -p /VOLUME1/TEST2/confEclipse/MIT-Eclipse-CodeStyle-CleanUp-20160408.xml mkdir -p /VOLUME1/TEST2/confEclipse/MIT-Eclipse-CodeStyle-CodeTemplates-20160408 
Теперь это работает хорошо, но я обнаружил, что в именах файлов не может быть пробелов, например, TEST NAME, вы не знаете, как это сделать сейчас? (Файл TEST был только примерами) Mike 7 лет назад 0
Я не получаю пробелы в строках в моем тесте. В именах файлов уже есть пробелы? Возможно, вам придется выйти из пробелов перед добавлением части `mkdir ...` manuelvigarcia 7 лет назад 0
Есть новости о пробелах? manuelvigarcia 7 лет назад 0