Localiza todos os arquivos para registrar e adicionar string para registrar BASH

0

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

Assim:

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

Eu tentei isto: 1 # cd diretório:

cd /volume1/TEST

2 # make 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: adicionar 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" (sinto falta de "mkdir -p/Volume1/" e a diferença é, além disso,

(LINUX)

    
por Mike 23.06.2016 / 12:20

1 resposta

0

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

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

O começo 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
    
por 23.06.2016 / 14:18