Ошибка --этот код, сокращенно из вопроса ОП:
awk '...stuff...' r/*.red >> r-c/red.csv
...будет вводить много файлов, изменять их и выводить один дополнительный -длинный файл red.csv . Перенаправление >>
ведет себя примерно так же, как cat foo/* > bar/baz
.
Использование тех же сокращений, чтобы избежать переноса слов -, с basename
и xargs, сгенерируйте команды cp
для копирования файлов r/
в r-c/
, в то время как изменив их имена, и отредактируйте эти новые файлы в -месте с помощью GNU sed
:
basename -a -s r/*.red | xargs -L 1 -I {} cp r/{}.red r-c/{}.csv
sed -i 's/^[^=]*= \|\;}$//g;s/ [^ ]* /,/;s/ /,/' r-c/*.csv