Как использовать lsof для идентификации входящие TCP-соединения?

Расширение переменной $ {varname% _ *} удалит все от (последнего) _ до конца строки.

Так, например,

$ name=WhatIWant_WhatIDontWant.txt
$ echo ${name%_*}
WhatIWant

Обратите внимание, что он также удаляет .txt .

Таким образом, мы можем построить простой цикл:

for name in *.txt
do
  mv -i "$name" "${name%_*}.txt"
done

Если вам нужна эта рекурсивная функция, может быть достаточно чего-то вроде

find . -name '*.txt' | while read -r "name"
do
  mv -i "$name" "${name%_*}.txt"
done

, но будьте осторожны, если какой-либо файл имеет встроенный символ возврата; это нарушило бы этот цикл.

4
25.10.2015, 17:05
0 ответов

Теги

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