Скрипт для отправки электронной почты предупреждение только при изменении состояния процесса

Из Parent_dir:

for d in */*/; do f=${d/\//_}; touch -- "$d"/"${f::-1}.txt"; done

Обратите внимание, что touch изменит временную метку любого существующего файла.

Вы можете сделать пробный запуск, заменив touch на echo:

for d in */*/; do f=${d/\//_}; echo -- "$d"/"${f::-1}.txt"; done
  • for d in */*/ позволяет нам итерировать каталоги на два уровня вглубь

  • f=${d/\//_} заменяет разделитель первого каталога / на _ и сохраняет вывод как переменную f

  • "$d"/"${f::-1}. txt" расширяется до имени каталога, за которым следует нужное имя файла; ${f:: -1} вычеркивает последний / из переменной f

Обратите внимание, что, поскольку разделитель каталогов / присутствует в переменной d, / в "$d"/"${f::-1}. txt" является лишним; поскольку почти все системы воспринимают // как одиночные /, это не должно быть проблемой. В качестве альтернативы вы можете капать /:

for d in */*/; do f=${d/\//_}; touch -- "${d}${f::-1}.txt"; done
1
28.02.2016, 19:02
0 ответов

Теги

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