Подобный вопрос был задан здесь .
Строго говоря, нет, вам нужен какой-то MTA/программа, работающая для пересылки электронной почты.
sSMTP кажется лучшим выбором, потому что он очень легкий и предназначен только для пересылки.
Archlinux wiki содержит некоторые дополнительные сведения о его настройке.
Использование расширения параметра для удаления подстроки для создания целевой аргумент для команды mv
для каждого имени файла, который find
возвращает:
find. -type f -name '*.gz' -exec sh -c 'mv -- "$1" "${1%/*}-${1##*/}"' sh {} \;
Или то же самое с использованием dirname
иbasename
:
find. -type f -name '*.gz' -exec sh -c '
mv -- "$1" "$(dirname "$1")-$(basename "$1")"
' sh {} \;
Примечание. :Всегда сначала заменяйте mv
на echo
, чтобы проверить любую подобную команду.
По-видимому, ответ thanasisp основан на вашем сообщении и приведенном вами примере вывода, но не меняет /
на -
. Чтобы получить полную обработку, которую вы, кажется, ожидаете в своем присоединенном комментарии (под вашим сообщением ), вот что можно сделать, чтобы сохранить базовые имена ваших файлов с 6-го символа на...
При условии, что обнаружение файлов, представляющих интерес, хорошо с:
$ find friday13 -type f -name "*.gz"
(вам нужно подтвердить, что эта базовая find
команда выше работает хорошо для вас ), тогда полная команда становится:
$ find friday13 -type f -name '*.gz' -exec bash -c '
var=$(sed "s/\//-/g;s/^\.-//" < <(echo $1));
echo mv -- "$1" "${var%-*}-$(cut -c6- < <(echo ${var##*-}))"
' execbash {} \;
и просто сотрите echo
во фрагменте выше, как только вы убедитесь, что распечатанные mv
cmds соответствуют вашим требованиям.