У меня есть 45 каталогов на моем диске с форматом именования Sub1, Sub2..Sub45 каждый состоит из более чем 300 текстовых файлов, все текстовые файлы в каждом каталоге имеют одинаковое имя форматBash script Отсортировать текстовые файлы в каталоге и экспортировать данные в csv
regional_vol_GM1.txt
regional_vol_GM2.txt
regional_vol_GM*.txt
Я хотел бы сортировать каталоги и текстовые файлы в каждой директории в последовательном порядке и экспортировать данные в каждом файле в CSV-файл,
Ниже приведен сценарий, который я написал
eval "dirs=($(ls -v --quoting-style=shell-always))"
for dir in "${dirs[@]}"; do
eval "files=($(
ls -vd --quoting-style=shell-always -- "$dir"/t1/regional_vol*.txt))"
tail -q -n 1 -- "${files[@]}" | paste -sd , -
done > data.csv
Теперь я хотел бы перестроить мой выходной файл csv с именем файла текстового файла в качестве значения строки и имени каталога в качестве столбца, так как каждый каталог имеет 300 текстовых файлов с одинаковым форматом именования, мне просто нужна одна строка с именем файла как заголовок и имя каталога как столбец в файле csv
Команда sed также не может фактически изменить файл, может быть, адрес также? –
Да, команда sed не работает, я все равно получаю неправильный вывод, вместо значений из каталога 1, я получаю значения из каталога 100 – DevanDevak
@ Jean-FrançoisFabre, его работы, но есть проблема, так как у меня есть 45 каталогов , каталоги не сортируются последовательно. Извините за повторную настройку моего вопроса, мне нужно отсортировать как каталоги и файлы внутри каталогов, так и упорядочить их в последовательном порядке и экспортировать данные в каждый каталог в csv – DevanDevak