2016-11-13 2 views
0

входного файла, как это:AWK разделителем в целом файле

Scene 
some 
text 
... 
Scene 
some 
more 
text 

И я хочу, чтобы иметь возможность печатать текст между каждым «Scene» (печатая $ 0, $ 1, и т.д .. как порез - d -f).
Я пробовал много вещей, используя awk, но я не понимаю, как заставить его работать.
awk -F '^Scene' '{print $1}' file печатает весь файл,
awk '/^Scène/{ print $1 } file' распечатывает все Scene, которое находится в файле.
Я думаю, что не понимаю логику с awk.

ответ

1

Использования гну AWK вы можете установить пользовательский разделитель записей:

awk -v RS='Scene[[:space:]]*' 'NF' file 

some 
text 
... 


some 
more 
text 
  • -v RS='Scene[[:space:]]*' будет установлен входной разделитель записей в Scene с последующим дополнительными белыми пространствами.
+0

Я хочу, чтобы «некоторый текст» был единственным полем, а не тремя разными полями –

+0

ok проверить мой обновленный ответ. – anubhava

+1

Да, это справедливый вопрос Эд. – anubhava

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