Вы могли бы использовать SED
:
sed -i 's/|4|/|\n4|/' file.txt
Это заменит | 4 |
с | \ N4 |
(то есть вертикальная полоса, новая линия и Затем 4 |
).
На Unix с GNU находятся (включая Linux), вы можете использовать это для рекурсии и итерации
find . -name '*.gz' -exec sh -c 'gunzip -c "{}" >"/output/path/{}"' \;
на других Unix / finded {} может не работать, так что я думаю, что вам нужна оболочка (при условии, что уберевшись)
find . -name '*.gz' | while read f; do gunzip -c "$f" >"/output/path/$f"; done
Это предполагает Ни один подкаталог не называется что-то. ГЗ, который был бы извращен; Если это так, добавьте -Type f
. Если все файлы gzaint, одни достаточно F
достаточно.
Но это может быть проще к Copy Сообщение Дерево сжатых файлов в писаемое место Сначала (много способов в Unix: CP - R
, rsync -r
, tar cf - | (cd где-то; tar xf -)
и даже на windows xcopy
) и распаковывается копии.