>Помогите пожалуйста с одним вопросом.
>Есть ли возможность/программа, позволяющая изменить значение определенного столбца в определенной строке текстового
>файла ?
>Т.е. с помощью awk можно прочитать это значение, а вот чем его
>можно изменить/записать в файл ?
>Спасибо.
Да с помощью того же awk:
Фрагмент исходного файла:
> cat /etc/fstab | grep swap
/dev/hda3 swap swap pri=44 0 0
/.swapfile swap swap pri=42 0 0
А теперь заменим во втором поле слово "swap" на "svop":
> cat /etc/fstab | grep swap | awk '{$2="svop"; print $0}'
/dev/hda3 svop swap pri=44 0 0
/.swapfile svop swap pri=42 0 0
Можно менять значение с проверкой условия:
> cat /etc/fstab | grep swap | awk '{if ($1 == "/.swapfile") $2="svop"; print $0}'
/dev/hda3 swap swap pri=44 0 0
/.swapfile svop swap pri=42 0 0
Ну, а чтобы внести изменения в исходный файл, необходимо перенаправить вывод awk во
временный файл, а затем заменить этим временным файлом исходный:
> cat fstab | grep swap | awk '{$2="svop"; print $0}' > tmpfile; mv tmpfile fstab