2013-08-26 6 views
-4

У меня есть каталог с файлами csv внутри. пример:Как отсортировать все файлы csv в каталоге

Dir A-> dir1->.csv dir2-> .csv я хочу, чтобы отсортировать все .csv файл в соответствии с 4 колонки, но, как я идти метала все каталоги внутри реж А.

спасибо

+0

Вы имеете в виду под «4-й колонкой» вывод ls -la (beeing group) или содержимое файла? является конкатенация всего контента возможным решением? что вы пробовали? можете ли вы предоставить образцы данных? – x29a

+0

Любые обновления ....? .. – beck03076

ответ

1

я понял, , что вы хотите, чтобы все файлы CSV под конкретный каталог для сортировки на основе 4-м столбце,

вы ищете для слова Рекурсивно,

Я предполагаю, что ваши CSV файлы, как показано ниже, вы пытаетесь разобраться на основе 4-го столбца

1,apple,red,2765 
2,mango,green,100 
3,pineapple,yellow,900 

Если все CSV-файлы родительского каталог «/ Главная/думаю /»версии CSV, а затем попробовать что-то, как показано ниже,

# setting the path of the parent directory 
path="/home/think/csvs" 
# finding all the .csv files under path 
for i in `find $path -type f -name '*.csv'` 
do 
    # sorting based on 4th columns(k4) by using comma(,) as the field separator 
    sort -t"," -k4 $i 
done 

Не тестировался, но это будет что-то вроде этого.

+0

вы можете добавить опцию '-n' в сортировку, из-за того, что ваш четвертый столбец является числовым ;-) – Jost

+0

Мой пример - числовой, я не знаю, что ОП есть. – beck03076

Смежные вопросы