Заменить значения на основе совпадающей переменной ID

Я могу по крайней мере объяснить, что, вероятно, происходит: . После разрешений на выходе Ls -l указывает на наличие политики SELinux, которая переопределяет разрешения на файл на основе какой программы доступа к файлу. Используйте LS -Z ~ / .ssh / seval_hosts для отображения политики файла.

Предположительно / USR / BIN / SSH и его компаньонные программы ( SSH-Keygen , SCP и т. Д.) - единственные программы, которые разрешены Доступ к этому файлу. Я скептически относится к этой политике: полезно редактировать ~ / .ssh / seleant_hosts вручную. Однако я не понимаю, почему завиток захочет прочитать этот файл вместо того, чтобы отпустить SSH и друзья делают это.

Вы можете использовать команду CCCON для редактирования политики для этого файла и Restorecon , чтобы восстановить политику по умолчанию. Смотрите в CentOS Wiki для получения дополнительной информации о SELinux.

0
04.09.2015, 16:01
2 ответа

У вас почти получилось.

awk 'NR==FNR{tmp[$1]=$2;next};{$6=tmp[$1] ; print }' file2.txt file1.txt

Где:

  • $ 6 = tmp [$ 1] заменит шестое поле.
1
28.01.2020, 02:27

Используйте join:

join -j 1 -o 0,1.2,1.3,1.4,1.5,2.2 file1 file2

Где:

  • -j определяет поле соединения обоих файлов
  • -o форматирует вывод так, как нужно
2
28.01.2020, 02:27

Теги

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