Если вы работаете в Linux, то самый простой способ добиться этого - использовать переименовать
(который является частью пакета util-linux
:
rename 'file1' 'newfile' file1*
Это подойдет то, что вы описали. переименование
ожидает трех аргументов:
Я быстро поискал на переименуйте
, и это было первое обращение с примерами: http://linux.icydog.net/rename.php
ОБНОВЛЕНИЕ Если у вас нет переименовать
в вашей системе, но у вас есть bash
, тогда вы можете выполнить пакетное переименование следующим образом (это эквивалент переименовать
, приведенный выше):
for f in file1*; do mv -v "$f" "${f/file1/newfile}"; done
Согласно комментарию @Patrick, вы можете сделать что-то вроде этого:
LINE='supersede domain-name-servers 1.1.1.1, 1.0.0.1;'
FILE=/etc/dhcp/dhclient.conf
grep -qF "${LINE}" "${FILE}" || echo ${LINE} | sudo tee --append "${FILE}"
Я надеялся/ожидал, что будет стандартный интерфейс через dhclient
или аналогичный, но если работает, то работает.:-)