Скрипт для отображения файлов с определенным расширением в папках рекурсивно

Вы можете попробовать sudo apt-get purge yelp, это приведет к удалению справки и поддержки.

1
задан 13 April 2017 в 15:23

2 ответа

Существует хороший ответ на stackoverflow-сайт сестры: Он говорит:

#!/bin/bash
recurse() {
 for i in "$1"/*;do
    if [ -d "$i" ];then
        echo "dir: $i"
        recurse "$i"
    elif [ -f "$i" ]; then
        echo "file: $i"
    fi
 done
}

recurse /path
ИЛИ если у вас есть bash 4.0
#!/bin/bash
shopt -s globstar
for file in /path/**
do
    echo $file
done

Скажите спасибо вам за stackexchange ghostdog74, если это сработает для вас. Также будет работать учетная запись askubuntu.

3
ответ дан 25 May 2018 в 05:23

Вы можете использовать эту команду:

$ find foobar/ -type f -iname ".*" -exec rename -n 's/^(.+)\/\.(.+)$/$1\/$2/' '{}' \;

foobar/sub_dir/moresubdir/.foo bar.zip renamed as foobar/sub_dir/moresubdir/foo bar.zip
foobar/sub_dir/moresubdir/.one.zip renamed as foobar/sub_dir/moresubdir/one.zip
foobar/sub_dir/moresubdir/.two.zip renamed as foobar/sub_dir/moresubdir/two.zip
foobar/sub_dir/.one.zip renamed as foobar/sub_dir/one.zip
foobar/sub_dir/.two.zip renamed as foobar/sub_dir/two.zip
foobar/.foo bar.zip renamed as foobar/foo bar.zip
foobar/.one.zip renamed as foobar/one.zip
foobar/.two.zip renamed as foobar/two.zip

find будет рекурсивно искать все скрытые файлы, а затем передавать их на rename. Параметр -n вызывает переименование для сухого запуска правила замены, чтобы показать вам, для чего будут переименованы эти файлы. Если вы довольны результатами, удалите параметр, чтобы он переименовал файлы для реального

1
ответ дан 25 May 2018 в 05:23

Другие вопросы по тегам:

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