2010-03-17 2 views
1

Мне нужна помощь в перемещении содержимого, напечатанного awk, в текстовый файл. Это продолжение previous quesion Мне нужно переместить все содержимое в один и тот же файл, чтобы он был добавлен.Выход awk в файл

Конкретно

nawk -v file="$FILE" 'BEGIN{RS=";"} 
    /select/{ gsub(/.*select/,"select");gsub(/\n+/,"");print file,$0;} 
    /update/{ gsub(/.*update/,"update");gsub(/\n+/,"");print file,$0;} 
    /insert/{ gsub(/.*insert/,"insert");gsub(/\n+/,"");print file,$0;} 
    ' "$FILE" 

Как получить результаты печати в текстовый файл добавляется один за другим в том же файле?

ответ

4

Перенаправление ввода-вывода является довольно простым при работе с оболочкой. Если вы хотите добавить строки, используйте >>. например

nawk -v file="$FILE" 'BEGIN{RS=";"} 
    /select/{ gsub(/.*select/,"select");gsub(/\n+/,"");print file,$0;} 
    /update/{ gsub(/.*update/,"update");gsub(/\n+/,"");print file,$0;} 
    /insert/{ gsub(/.*insert/,"insert");gsub(/\n+/,"");print file,$0;} 
    ' "$FILE" >> newfile 

Пожалуйста, потратьте время на чтение сценариев оболочки, если вы еще этого не сделали.

+0

Я очень благодарен – Harish

3

Извините, не слишком много awk-баффов, но не должно ли это обрабатывать оболочку?

awk YOUR_AWK_STUFF_HERE >> appended.file.name 
2

Другие ответы предлагают перенаправление оболочки. На самом деле, awk разрешает перенаправление как часть инструкции print.

nawk -v file="$FILE" 'BEGIN{RS=";"} 
     /select/{ gsub(/.*select/,"select");gsub(/\n+/,"");print file,$0 >> results.txt;} 
     /update/{ gsub(/.*update/,"update");gsub(/\n+/,"");print file,$0 >> results.txt;} 
     /insert/{ gsub(/.*insert/,"insert");gsub(/\n+/,"");print file,$0 >> results.txt;} 
     ' "$FILE" 

awk man page Из:

Оператор печати печатает свои аргументы на стандартный вывод (или на файл, если> файл или файл >> присутствует или на трубе, если | cmd - настоящее время), разделенный текущим разделителем полей вывода и завершенный разделителем выходной записи. файл и cmd могут быть буквальными именами или заключенные в скобки выражения; тождественные строковые значения в разных операциях обозначают один и тот же открытый файл.

Смежные вопросы