Написание скрипта для просмотра каталогов?

Мне был присвоен проект базы данных, в который я загрузил набор данных, составлял 50 ГБ. После извлечения набора данных у меня есть 31 папка. Каждая из этих 31 папок содержит 23 папки. И каждая из этих 23 папок содержит 59 (00-59) .json данных. Мне нужно передать эти данные MongoDB. Я написал эту команду для этого:

mongoimport --db twitter --collection twitterCol --file /media/shamsad/1E8A00A88A007E91/archiveteam-twitter-stream-2013-08/08/01/00/00.json

Но это утомительно для написания этой команды для данных 31 * 23 * 59 .json. Как написать скрипт для просмотра каталогов, найти jsons и вызвать mongoimport?

7
задан 27 April 2017 в 18:29

4 ответа

Не требуется скрипт, просто find:

find /media/shamsad/1E8A00A88A007E91/ -name '*.json' \
    -exec  mongoimport --db twitter --collection twitterCol --file {} \;
11
ответ дан 22 May 2018 в 23:09
  • 1
    не могли бы вы любезно объяснить, что такое «имя» * .json data '\ " эта часть делать? – sphoenix 27 April 2017 в 18:39
  • 2
    @sphoenix -name '*.json data': все файлы с расширением json data. `\`: используется для записи команды в две строки; поэтому bash будет знать, что следующая строка является частью одной и той же команды, а не другой командой; – Ravexina 27 April 2017 в 18:45
  • 3
    @sphoenix, что сказал ravexina. Дайте мне знать, если все еще неясно. – terdon♦ 27 April 2017 в 18:47
  • 4
    Я написал вашу команду в файле db_script.sh и запустил ее. Он говорит: «найти: пути должны предшествовать выражению: Использование: find [-H] [-L] [-P] [-Olevel] [-D help | tree | search | stat | rates | opt | exec | time] [ path ...] [выражение] ./db_script.sh: строка 2: -exec: команда не найдена " – sphoenix 27 April 2017 в 18:54
  • 5
    @terdon У вас был *.json data, где он должен быть только *.json. Я починил это. – wjandrea 27 April 2017 в 18:57

Не требуется скрипт, просто find:

find /media/shamsad/1E8A00A88A007E91/ -name '*.json' \ -exec mongoimport --db twitter --collection twitterCol --file {} \;
11
ответ дан 18 July 2018 в 14:09

Не требуется скрипт, просто find:

find /media/shamsad/1E8A00A88A007E91/ -name '*.json' \ -exec mongoimport --db twitter --collection twitterCol --file {} \;
11
ответ дан 24 July 2018 в 20:20

Не требуется скрипт, просто find:

find /media/shamsad/1E8A00A88A007E91/ -name '*.json' \ -exec mongoimport --db twitter --collection twitterCol --file {} \;
11
ответ дан 31 July 2018 в 12:10

Другие вопросы по тегам:

Похожие вопросы: