Магия консоли
автоматизируем рутину
iTechMeetup Online #3
Практическая задача
Есть 130 файлов со стандартизированным содержимым.
Нужно:
- Переименовать файлы должным образом
- Удалить лишние данные из JSON файлов
- Массово отредактировать содержимое
«Концепции»
- Регулярные выражения
- Конвейеры (пайпы, piplines)
- Циклы и переменные
Исходное имя одного из файлой:
ocheredi-v-aws-aleksei-firsov-exness-python-meetup-12-12-2018.json
Прослеживаемый паттерн:
talk-title-person-name-somethinge-else-some-garbage-DD-MM-YYYY.json
Желаемый результат:
YYYY-MM-DD-talk-title-person-name-something-else.json
Прослеживаемый паттерн:
1 ./ocheredi-v-aws-aleksei-firsov-exness-python-meetup-12-12-2018.json
Регулярка:
s#\t./(.+)-([0-9]{2})-([0-9]{2})-([0-9]{2,4})#\t./\4-\3-\2-\1#g
cat FILE.TXT | другая команда | ещё команда > FILE_2.txt
cat FILE.TXT | tr [:upper:] [:lower:] > FILE.txt
cat FILE.TXT | tr [:upper:] [:lower:] > FILE.txt
cat FILE.TXT | tr [:upper:] [:lower:] | sponge FILE.txt
for VAR in *
do
cmd1 $VAR
cmd2 | cmd3 $VAR
done
# ---------------------------------------------------------
for VAR in $( ls -1 ); do cmd1 $VAR; cmd2 | cmd3 $VAR; done
sed - потоковый текстовый редактор с регулярками
grep - поиск строк в файле (файлах)
tr - трансформация текста
wc - подсчёт символов, слов, строк
rename - переименование файлов, с регулярками
jq - манипуляция контентом JSON-файлов
vidir - переименование и перемещение файлов текстовым редактором
sponge - «губка» для пайпов
регулярки: regex101.com