В то время как David awk
каждый - самый очевидный, для добавления к списку:
grep -xE '.{3,32}'
Вы можете использовать эту команду find
:
find /test/ -name "*.doc" -exec sh -c 'a="$1"; rm "${a%.doc}.pdf"' find-sh {} \;
Она будет искать файлы .doc
в каталоге / test /
. Для каждого найденного файла вызывается оболочка sh
с файлом в качестве аргумента. $ {a% .doc} .pdf
заменяет расширение файла .doc
на .pdf
и rm
удаляет его, если файл существуют.
Сохраните следующий сценарий как rm_dub.sh
#!/bin/sh
rm_dub() {
dir=$(dirname -- "$1")
base=$(basename -- "$1" "$2")
rm -- "$dir/$base$3"
}
rm_dub "$@"
и используйте его с
find /test/ -name "*.doc" -exec sh rm_dub.sh {} .doc .pdf \;