Нажмите Alt + F2, попробуйте запустить gksudo nm-connection-editor. Это должно позволить вам редактировать и сохранять все.
Используйте find для поиска файлов:
find . -regex ".*/[A-Z0-9]+\.[a-z]+"
Выполняет поиск в текущем каталоге (.), рекурсивно проходя через подкаталоги.
[.*/] охватывает путь к файлу [A-Z0-9] обозначает каждую букву от A до Z (включая, например, Å, как указано @vidarlo), и каждая цифра от 0 до 9 + соответствует предыдущему символу или выражению один или несколько раз \. ] - буквальная точка [a-z] обозначает каждую букву от a до z. Для некоторых специальных символов может потребоваться использовать, например, [[:upper:]] вместо этого:
find . -regextype egrep -regex ".*/[[:upper:][:digit:]]+\.[[:lower:]]+"
Для объединения тестов find есть -a и -o, для вашего примера это могло бы помочь:
find /mnt/ \( -name "*[a-z]*.*" -o -name "*.*[A-Z]*" \) -exec echo {} +
Только с bash:
shopt -s extglob nullglob
cd /mnt
# just print the "good" files
printf "%s\n" +([[:upper:][:digit:]]).+([[:lower:]])
# or, report on all files
for f in *; do
if [[ $f == +([[:upper:][:digit:]]).+([[:lower:]]) ]]; then
echo "OK: $f"
else
echo "**: $f"
fi
done
См. «Сопоставление шаблонов» в руководстве bash.
Попробуйте, если работает следующий метод с командой find и shellscript. Вы можете изменить
командную строку find и shellscript (например, вывод)в соответствии с тем, что вы хотите.
find -type f -exec ./checker {} \; | sort
где checker содержит
#!/bin/bash
if [ $# -ne 1 ]
then
echo "Usage: $0 <filename>"
echo "Enter the file name as a parameter"
exit
fi
inversvid="\0033[7m"
redback="\0033[1;37;41m"
resetvid="\0033[0m"
filnam=${1##*/}
name=${filnam%\.*}
upnam=${name^^}
ext=${filnam##*.}
loex=${ext,,}
if [ "${filnam^^}" == "$upnam" ]
then
corrfile=$upnam
else
corrfile="$upnam.$loex"
fi
if [ "$corrfile" == "$filnam" ]
then
echo -e " good match: '$filnam'"
else
echo -e "$redback bad match: '$filnam' does not match '$corrfile' $resetvid"
fi
Я выполнил checker исполняемый файл и назову его локально. Вы можете поместить его в ~/bin, который переводит его в PATH, чтобы вы могли его вызвать с помощью checker.
chmod ugo+x checker
Используйте find для поиска файлов:
find . -regex ".*/[A-Z0-9]+\.[a-z]+"
Выполняет поиск в текущем каталоге (.), рекурсивно проходя через подкаталоги.
[.*/] охватывает путь к файлу [A-Z0-9] обозначает каждую букву от A до Z (включая, например, Å, как указано @vidarlo), и каждая цифра от 0 до 9 + соответствует предыдущему символу или выражению один или несколько раз \. ] - буквальная точка [a-z] обозначает каждую букву от a до z. Для некоторых специальных символов может потребоваться использовать, например, [[:upper:]] вместо этого:
find . -regextype egrep -regex ".*/[[:upper:][:digit:]]+\.[[:lower:]]+"
Для объединения тестов find есть -a и -o, для вашего примера это могло бы помочь:
find /mnt/ \( -name "*[a-z]*.*" -o -name "*.*[A-Z]*" \) -exec echo {} +
Только с bash:
shopt -s extglob nullglob
cd /mnt
# just print the "good" files
printf "%s\n" +([[:upper:][:digit:]]).+([[:lower:]])
# or, report on all files
for f in *; do
if [[ $f == +([[:upper:][:digit:]]).+([[:lower:]]) ]]; then
echo "OK: $f"
else
echo "**: $f"
fi
done
См. «Сопоставление шаблонов» в руководстве bash.
Попробуйте, если работает следующий метод с командой find и shellscript. Вы можете изменить
командную строку find и shellscript (например, вывод)в соответствии с тем, что вы хотите.
find -type f -exec ./checker {} \; | sort
где checker содержит
#!/bin/bash
if [ $# -ne 1 ]
then
echo "Usage: $0 <filename>"
echo "Enter the file name as a parameter"
exit
fi
inversvid="\0033[7m"
redback="\0033[1;37;41m"
resetvid="\0033[0m"
filnam=${1##*/}
name=${filnam%\.*}
upnam=${name^^}
ext=${filnam##*.}
loex=${ext,,}
if [ "${filnam^^}" == "$upnam" ]
then
corrfile=$upnam
else
corrfile="$upnam.$loex"
fi
if [ "$corrfile" == "$filnam" ]
then
echo -e " good match: '$filnam'"
else
echo -e "$redback bad match: '$filnam' does not match '$corrfile' $resetvid"
fi
Я выполнил checker исполняемый файл и назову его локально. Вы можете поместить его в ~/bin, который переводит его в PATH, чтобы вы могли его вызвать с помощью checker.
chmod ugo+x checker