У меня есть строка в текстовом файле с большим количеством строк, один, например, является:Изменить определенное поле определенной строки в текстовом файле в Баш
ABCDE: jhdfj $ jhbsfiy/.hghi $ JH: 12345: dgve: 1 :::
Мне нужно, чтобы найти эту строку, abcde
хранится в var1
. после того, как я разместил, мне нужно изменить только 3-е поле, 12345
, и заменить его на переменную var2
, не касаясь остальной части. если var2 является 567890, то после этого строка в текстовом файле следует читать:
ABCDE: jhdfj $ jhbsfiy/.hghi $ JH: 567890: dgve: 1 :::
Я предполагаю, что awk
является мой друг здесь, но я ноб, у которого не хватит времени!
Это работает, но мне нужно, чтобы сделать это, не касаясь ничего, кроме 3-го поля (Uni назначения помощи):
SED -i "TextFile.txt" -e «с, ($ var1): (*:.): \ 1: $ var2NeedingChange: $ var3, г»textfile.txt
После того, как я имел 1-поле в var1
и 4-й-седьмых поля в var3
в виде строки, но я должен сделать это по-другому. надеюсь, это поможет вам понять, чего я пытаюсь достичь.
более вероятно 'usermod' и' groupmod' являются вашим другом здесь, а также 'vigr' и' vipw' (оба без и с '-s' соответственно) ... – 0xC0000022L
Help? Я ничего не знаю об этих четырех вещах ... –
PLease не задает один и тот же вопрос дважды, но отредактируйте его, если у вас есть дополнительная информация. –