Я новичок в Cygwin, и мне действительно может понадобиться помощь. У меня есть корневой каталог с несколькими подкаталогами (все подкаталоги находятся на одном уровне, то есть нет подкаталогов и т. д.). Каждый подкаталог содержит несколько файлов CSV (тот же формат, без заголовков). Я хотел бы объединить CSV-файлы в каждом подкаталоге в один большой CSV-файл для каждого подкаталога. То есть один CSV на подкаталог, содержащий содержимое всех CSV в этом отдельном подкаталоге.
Я думаю, что могу использовать простую команду cat *.csv > largefile.csv
, но я не уверен, как просканировать все подкаталоги и применить этот код к каждому из них. Основываясь на учебниках, которые я проработал, я считаю, что это должно работать:
for dir in `find . -type d`
do cat *.csv > largefile.csv
done
Это лучший подход? Это кажется слишком простым.
Кроме того, есть ли способ сохранить эти команды в файле, который я мог бы выполнять всякий раз, когда мне нужно выполнить эту задачу?
Заранее спасибо за помощь новичку!
$ cat_all_csv_dir.sh /usr/local/bin/cat_all_csv_dir.sh: line 2: syntax error near unexpected token
$'do\r'' 'usr/local/bin/cat_all_csv_dir.sh: строка 2:for dir in *;do
Что я делаю неправильно? 17.02.2015ls "$dir"/*.csv
следует писать вместоls *.csv
. 19.02.2015