Прохожий |
17.05.2007 21:05 |
bash$ cat testfile |sed 's/" "/"/g'|awk 'BEGIN {FS="\""}; {split ($4,a," ")};{print $1,$2,$3,a[1],a[2],$5};'
я заменил кавычкапробелкавычка на просто кавычка и вместо текст" "текст получится текст"текст. разделяется нормально, потому что в FS сказано делить по кавычкам. но нужно еще 1955 500 разделить по пробелу, я это сразу не учел, но вышеприведенный код работает как надо. см:
Цитата:
bash$ cat testfile |sed 's/" "/"/g'|awk 'BEGIN {FS="\""}; {split ($4,a," ")};{print $1};'
1001
1001
1001
1001
1001
1001
1001
1001
|
Цитата:
bash$ cat testfile |sed 's/" "/"/g'|awk 'BEGIN {FS="\""}; {split ($4,a," ")};{print $2};'
Через тернии к звездам
Через тернии к звездам
Через тернии к звездам
Через тернии к звездам
Через тернии к звездам
Через тернии к звездам
Через тернии к звездам
Через тернии к звездам
|
Цитата:
bash$ cat testfile |sed 's/" "/"/g'|awk 'BEGIN {FS="\""}; {split ($4,a," ")};{print a[1]};'
1955
1955
1955
1955
1955
1955
1955
1955
|
ну и так далее. единственное замечание - поля 4 и 5 хранятся не в переменных $4 и $5, а в элементах массива a[1] и a[2], а поле 6 - в переменной $5 :) содержимое остальных переменных соответствует их именам.
|