Encontre todos os arquivos para registrar e adicione string ao log BASH

Encontre todos os arquivos para registrar e adicione string ao log BASH

Encontre todos os arquivos na pasta, crie a lista (log) e o log no início de cada linha Anexar a "mkdir -p /VOLUME1/path

Assim:

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

Eu tento isto: diretório 1#cd:

cd /volume1/TEST

2#fazer LOG

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

3#adicionar novo caminho (String)

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

Eu preciso disso: adicione em cada linha:

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

mas minha saída é "/Volume1/TEST2/ folder1/1.jpg" (eu sinto falta "mkdir -p/Volume1/"e a lacuna é além disso

(Linux)

Responder1

Você precisa escapar das barras invertidas. Pelo menos funcionou para mim:

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

O início do resultado:

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

informação relacionada