Пользователь |
Сообщение: awk,sed..... (Тема#73985) |
aZ
езмъ Он
Возраст: 39
: Украина
С нами с 22.08.08
Посты: 12094
|
Есть у нас гуру awk, sed и так далее?
Задача была такая...чтобы заработала вот такая конструкция внутри цикла while
head -5 report.csv | while IFS="|" read dom acc mx ns pass fi; do echo "$dom|$acc|$mx|$ns|$(grep $dom report.csv | awk -F "|" '{print $6}' | sed '/NULL/!s/.*/Yes/g' )"; done
Не нравится while циклу знак ! - " bash: !s/.*/Yes/g': event not found"
Экранировать пытался...через HEX тоже.
з.ы
по факту можно заменить на другой цикл, задача добиться замены всего крому NULL...но в конкретном поле
|
|
|
GAZ
?"чынитаплаП"
: Coruscant
С нами с 12.02.07
Посты: 14403
|
я хз. завтра погляжу... что и как... бум мозговать, но лучше на сисадминсе спроси...
ЗЫ: тут 3,5 анона шарят в линухе.
|
|
|
Nameless
Maximus - Lite Edition
: 404
С нами с 02.11.05
Посты: 21233
|
парсить цсв седом и авк -- это мсье знает толк ) может проще пару строк на питоне наваять? понадежней как-то будет.
Отредактировано Nameless 19.07.13 10:09. Причина редактирования: Причина не указана.
|
|
|
aZ
езмъ Он
Возраст: 39
: Украина
С нами с 22.08.08
Посты: 12094
|
Та ну, csv отлично парсится как раз авк и сед...согласен что возможно быстрее и правильнее будет на питоне, но не владею. Хотя пообещал себе выучить перл или питон в скором будущем...пока по работе хватает обычного bash.
з.ы
если не сложно, то каким образом вообще можно заменить ВСЕ, КРОМЕ....уберем все лишнее вообще...просто если использовать чистый sed то это вот так - sed '/NULL/!s/.*/Yes/g' - все что не NULL поменяется на YES.
Использование awk или цикла тут обусловленно тем, то мне нужно поменять всего одно поле в документе.
Отредактировано aZ 19.07.13 15:18. Причина редактирования: Причина не указана.
|
|
|