Прочитать файлы в подкаталогах и перейти в одно место с отметкой времени

[1177093] Это [1177547] пост [1177548] может помочь. Для вашего удобства я снова копирую вставленное мной решение здесь.

вы можете скачать исходные тексты и скомпилировать свои собственные, используя следующую команду:

или вы можете скачать пакет ddeb [1177549] здесь [1177550] и установить его по [1177551] sudo dpkg -i linux-image-3.2.0-60-virtual-dbgsym_3.2.0-60.91_amd64.ddeb

2
27.10.2015, 06:46
1 ответ
INDIR='./Interface/Temp/GoodsRecipt'
OUTDIR='./Interface/Temp/GoodsRecipt/GRout'

mkdir -p "$OUTDIR"

find "$INDIR"/GR*/ -type f -name '*.csv' | while IFS= read f ; do
  fd=$(date +'%Y%m%d' -d @$(stat -c %Y "$f"))
  bn=$(basename "$f" .csv)
  mv "$f" "$OUTDIR/$bn$fd.csv"
done

ПРИМЕЧАНИЕ. Я использовал здесь ГГГГММДД вместо ДДММГГГГ. Есть много причин, по которым это лучший формат даты, но одна из самых важных - то, что это единственный формат, который сортирует правильно.

Другой важной причиной является то, что это однозначно, потому что никто не использует YYYYDDMM. Но 05082014 может означать «8 мая 2014 года» (если вы американец) или «5 августа 2014 года» (почти везде в мире). Использовать этот формат небезопасно, потому что невозможно определить предполагаемое значение.

Если вы настаиваете на использовании DDMMYYYY, измените команду date на date + '% d% m% Y' :

  fd=$(date +'%d%m%Y' -d @$(stat -c %Y "$f"))
0
27.01.2020, 22:51

Теги

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