Прочитайте файл и прокомментируйте строку, соответствующую строке, с помощью сценария оболочки

Прочитайте файл и прокомментируйте строку с совпадением строки с помощью сценария оболочки

Я хочу прокомментировать соответствующую строку файла (final_ip) с помощью сценария оболочки

У меня есть входной файл (input_ip), если поиск ip соответствует файлу final_ip, измените содержимое файла, указанное ниже

Перед изменением:

192.168.1.12 #SAM 

После изменения соответствующая строка должна быть заменена:

 # 192.168.1.12 #SAM 

2 Solutions collect form web for “Прочитайте файл и прокомментируйте строку, соответствующую строке, с помощью сценария оболочки”

 sed '/<string>/s/^/<comment_char>/' <file> 

/<string>/ работает в строках, соответствующих <string> . ^ работает в начале строки и вставляет символ комментария.

Насколько я понимаю, вы хотите прочитать IP-адрес из файла. Затем вы можете использовать следующий скрипт. Использование: script <file_containing_the_IP_address> <file_to_operate_on>

 #!/bin/sh ip_file="$1" file_to_change="$2" comment='# ' ip=$(sed 's/\./\\./g' "$ip_file") temp_file=$(mktemp) sed "/$ip/s/^/$comment/" "$file_to_change" > "$temp_file" && mv -- "$temp_file" "$file_to_change" exit 0 

Если сценарий не нужно переносить, вы также можете использовать переключатель -i GNU sed.

Это использует расширение GNU sed -i для редактирования файла final_ip на месте:

 input=`cat input_ip` sed -i "s/$input/# $input/" final_ip 

Помещение двойных кавычек вокруг скрипта sed позволяет интерполировать переменную $ input. Работает только в том случае, если в файле input_ip есть один IP-адрес.

  • Может ли libnotify использоваться для выполнения скрипта?
  • Переключение пользователей с помощью sudo или su в сценарий оболочки
  • Применение функции bash для каждого файла в подпапке рекурсивно
  • Bash Mysql Command Замена Login Failure
  • как выполнять команды на удаленном сервере как разные пользователи
  • Bash: разбить список файлов на разные файлы?
  • Сохранять временную историю через скрипт
  • Как обновить даты (на 30 дней) в файлах, идущих в это конкретное место в unix?
  • наблюдение за выполнением скрипта с помощью скрипта monit, похоже, игнорирует каналы
  • grep последнее слово данной строки .csv-файл
  • Что означает поиск файла в оболочке?
  • Linux и Unix - лучшая ОС в мире.