![]() |
awk замена текста во втором столбце
доброго времени суток
нигде не могу найти решение, но думаю в AWK 'nj djpvj;yj как можно заменить текст_1 на текст_2 в втором столбце и вывести только те строки которые заменены? спасибо |
пробую вот это (без поиска во втором столбце)
awk "{if(gsub(/"2008-09-19"/,"2008.09.17")){print}}" nfo.txt>1.txt выходит ахинея меняет значения на 2008.090.17 awk "{if(gsub(/"2008-09-19"/,"2008-09-17")){print}}" nfo.txt>1.txt меняет значения на 1982 (тоесть минусует цыфры) |
разобрался
awk "{if(sub(/2008-09-19/,\"2008-09-17\")){print}}" |
блин. все же вопрос на счет изменений только во втором столбце я ж не решил
|
Коллега, завязывайте чатиться сам с собой. Лучше упакуйте Ваш «nfo.txt» в архив, приложите к сообщению или выложите на RGhost. На всякий случай, поясните, что есть «второй столбец». Укажите, что именно и по каким критериям ищем, на что меняем.
|
часов 8 на поиски ответа и я нашел
gawk "{print $1, gensub(/(2008)/,\"\\1 ADDED\", \"g\", $2)}" "OFS=\t" "FS=\t" nfo.txt>z1.txt но. как печатать только строки которые совпали типа if(gensub) простоя не разбираюсь в awk |
А что за файл? Приведите пример строки, иначе никак.
|
вот строки в файле. жирным выделено то, что оно находит. именно эти строки мне и нужны.
сейчас оно пишет все строки и меняет значения во второй колонке как мне надо я в принципе понял что потом могу отфильтровать через sed Цитата:
|
Только год?
Код:
sed -rn "s/.+\s(2008)-.*/\1/p" nfo.txt > 1.txt Код:
sed -rn "s/.+\s(2008.+)/\1/p" nfo.txt > 1.txt |
вторую колонку:)
спасибо!!! |
Время: 22:37. |
Время: 22:37.
© OSzone.net 2001-