Awk
раствор:
awk 'NF == 1{ f=1; exit }END{ print "Hostname list is "(f? "not ":"")"valid" }' file
Глядя на документацию awk
, кажется, что я мог бы использовать следующее:
cat file.txt | awk 'BEGIN { RS = "\n\n+"; first = 1 } {if (!x[$0]++) { if (!first) {print ""}; print $0; first = 0} }'
Краткое пояснение:
RS
на "\n\n+" для разделения абзацев. first
используется для вывода новой строки между записями, в качестве альтернативы вы можете печатать новую строку после каждого $0, но тогда у меня не было возможности удалить ее для последней записи. x
используется для подсчета того, была ли запись видна ранее, и только если она не была видна, мы печатаем запись. first
, мы печатаем новую строку между записями first
значение False. $ awk -v RS= -v ORS='\n\n' '!seen[$0]++' file
Paragraph1
continue
continue
...
Paragraph2
continue
continue