переименовывать (переименовывать) каталоги unix с фамилией и именем людей, разделенными запятыми

Grep, который может использовать регулярные выражения, например, такие:

grep -E "^\[(14:59|15:00|15:01|15:02|15:03)" /path/to/file
1
13.06.2018, 21:14
3 ответа

Если у вас есть rename, написанный Ларри Уоллом, вы можете его использовать. Это sedдля имен файлов. Будьте осторожны, в некоторых системах есть другой инструмент с именем rename.

rename -n -e 's/([^,]+), ([^,]+)/$2 $1/' «list_of_files»

Замените «list_of_files», например,. с *. После проверки удалите -n.

1
27.01.2020, 23:32
$ find.  -type d -maxdepth 1 -exec basename "{}" \; | grep -v '^.$' | awk -F", " '{ print "mv \""$0"\" \"" $2, $1"\""  }' | tee rename.sh
mv "Doe, Jon" "Jon Doe"
mv "Smith, Bob" "Bob Smith"
mv "Roe, Jane" "Jane Roe"

Затем вы можете chmod u+x rename.shзапустить его после повторного -вывода из tee.

0
27.01.2020, 23:32

Перл-версия утилиты renameможет это сделать:

rename 's/(.+), (.+)/$2 $1/' *

ПРИМЕЧАНИЕ.:сделайте резервную копию дерева каталогов перед запуском этого команда. Это должно работать, но вы не дали слишком много подробностей об именах ваших каталогов.

1
27.01.2020, 23:32

Теги

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