2017-01-31 17 views
0

(Unix): У меня есть файл, содержащий 10 строк, мое требование - найти 8-ю строку и заменить третий столбец значением «NEW». (файл необходимо обновить, позже, когда я просмотрю файл, он должен иметь новое значение)как найти и заменить значение n-й строки и n-го столбца в unix

+0

Можете ли вы загрузить содержимое своего файла, а также исходный код, который вы использовали для этого. Таким образом, мы можем помочь вам лучше. – Svekke

+0

Вы что-то пробовали? – sureshkumar

+0

awk '$ 1 ~/hi $/{$ 3 = "me"} 1' testfile4 Я пробовал это, но он печатается только, он не обновляется в файле – vishal

ответ

0

Попробуйте выполнить команду ниже sed.

sed -i '2s/^\(\([^ \t]\+[ \t]\)\{2\}\)[^ \t]\+/\1New/g' a.txt 

В этом первом номере 2 есть строка, которую вы хотите заменить.

Затем в регулярном выражении внутри фигурных скобок ({}). После этого столбца вы должны подставить слово. Например, вы должны подставить третий столбец, тогда вам нужно дать 2 в этом месте.