try
ip route add 192.168.178.0/24 dev eth0 proto kernel scope link src 192.168.122.201
Я очищаю свою основную таблицу маршрутов, устанавливаю статический IP-адрес и сталкиваюсь с этой проблемой.
Я пытаюсь удалить статический IP-адрес, снова читаю, наблюдаю, что было добавлено в таблицу маршрутизации, и нахожу эту запись. Потом добавляю маршрут по умолчанию, работает.
ip a del 192.168.178.201/24 dev eth0
ip a add 192.168.178.201/24 dev eth0
ip route add default via 192.168.178.5 dev eth0
Этот простой скрипт должен это сделать:
for f in *[0-9]*.*; do
base=${f%.*}
mv -- "$f" "${base//[^0-9]}.${f##*.}"
done
Мы можем обойтись ниже одного вкладыша. Протестировал. Но его нужно выполнить из текущей папки, в которой присутствует файл.
for file in *generic*.txt; do newname=$(echo $file | awk -F"-" '{print $3}' | sed 's/ _//g'); mv "$file" $newname;done
если вы хотите запустить из другой папки, вы можете попробовать скрипт ниже
#!/bin/bash
SRCFLDR=yoursourcefolder
for file in $SRCFLDR/*generic*.txt;do
newname=$(echo $file | awk -F"-" '{print $3}' | sed 's/ _//g')
mv "$file" $newname
echo $file has been renamed to $newname
done
Я бы использовал (perl -)rename. В дистрибутивах есть два типа переименования, поэтому вы можете проверить, установлена ли у вас perl-версия переименования с помощью
$ rename --version
perl-rename 1.9
Запустите его с помощью -n
, чтобы проверить команду как «пробный прогон».
$ rename 's/[^0-9]*([0-9]*).*/\1.txt/' * -n
generic name- dd -01 _.txt -> 01.txt
generic name- dd -02 _.txt -> 02.txt
generic name- dd -03 _.txt -> 03.txt
generic name- dd -04 _.txt -> 04.txt
Когда вы будете довольны, запустите саму команду.
$ rename 's/[^0-9]*([0-9]*).*/\1.txt/' *
rename 's/foo/bar/' *
:переименовать все файлы (*
), заменив регулярное выражение foo
на bar
. [^0-9]*([0-9]*).*
:соответствует всем не-числовым символам [^0-9]*
, за которыми следуют числовые символы, заключенные в «группу захвата» ([0-9]*)
, за которыми следуют остальные символы .*
. Это будет соответствовать полному имени файла. \1.txt
:замените имя файла захваченной группой \1
, добавив к ней .txt
. Если у вас установлено более простое переименование, вместо этого вы увидите нечто подобное.
$ rename --version
rename from util-linux 2.33.1
В этом случае вы можете использовать следующие две команды:
$ rename 'generic name- dd -' '' *
$ rename ' _' '' *
Но вместо этого я настоятельно рекомендую изучить perl -rename.