xargs sed переименовывает файлы вместо замены содержимого

Я пришел к этому сообщению, потому что у меня было два разных ПК, каждый с двумя сетевыми картами, каждый настроен примерно так:

auto enp6s0 
iface enp6s0 inet dhcp
    address 192.168.20.36
    netmask 255.255.255.0
    gateway 192.168.20.1


auto enp7s0 
iface enp7s0 inet static
    address 10.10.10.3
    netmask 255.255.255.0
    gateway 192.168.20.1

Они оба смогли подключиться к другим машинам в сети 192.168.0.1. *LAN и гаджеты Интернета вещей 10.10.2019. *, но один из них не смог выйти в интернет.

Никакие политики не были определены, и команда route показала, что метрики равны... за исключением того, что для того, у кого нет подключения к Интернету, шлюз по умолчанию использовал сетевую карту, связанную с 10.10. *сеть.

Видимо (эмпирически, не гарантировано! )Если у ядра нет ничего лучшего, оно будет использовать первое найденное. Редактирование /etc/network/interfaces таким образом, чтобы ссылка на 192.168. *был указан перед ссылкой на 10.10. *в /etc/network/interfaces, похоже, проблема решена.

0
07.11.2020, 18:52
1 ответ

Предоставление от -ieдо sedозначает внесение изменений в место -, сохраняя при этом файл резервной копии с именем имя_файла+ e.

Изman sed

   -i[SUFFIX], --in-place[=SUFFIX]

          edit files in place (makes backup if SUFFIX supplied)

Если вы хотите использовать любой другой параметр вместе с sed -i, вы должны использовать их отдельно или, по крайней мере, не помещать этот параметр сразу после -i, чтобы он не интерпретировался как суффикс файла резервной копии.

sed -i.bak -e...

для создания файла резервной копии с расширением .bakв качестве суффикса или

sed -i -e...

за то, что не был создан файл резервной копии.

2
18.03.2021, 22:51

Теги

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