Попробуйте приведенный ниже сценарий bash, который работает с файлами с именами <pattern><number>.<extension>
, такими как abc1.csv, abc02.csv, abc123.csv. При желании вы можете указать входной каталог (по умолчанию :. )в качестве первого аргумента командной строки и расширение файла (default :csv )в качестве второго; конечно, вам придется обязательно указать $1, если вы хотите указать $2.
$ cat./countlinesbyfilecategory.sh
#!/bin/bash
ptrns=$(for fnm in `find ${1:-.} -regex ".*[0-9][0-9]*\.${2:-csv}"`; do echo $fnm | sed "s/[0-9][0-9]*\.${2:-csv}$//" ; done| sort -u)
for ptrn in $ptrns; do
echo -n $(basename $ptrn) " "
find ${1:-.} -regex "${ptrn}[0-9][0-9]*\.${2:-csv}" | xargs wc -l | tail -1 | awk '{print $1}'
done
$
Как указано в некоторых комментариях, вы можете либо скопировать остальные разделы и настроить LC_TIME
в своем файле пользовательских локалей, либо настроить LC_TIME
в /etc/locale.conf
. Как подсказывает справочная страница locale.conf(5)
-, вы также можете использовать параметр командной строки ядра locale.LC_TIME=
, чтобы переопределить настройку во время загрузки.