我的文件:
1 sender: 887645651201059711697
date: 15/02/04,08:07:08
Maaf, pulsa Anda tidak cukup untuk mengaktifkan Pkt Super Ngebut 11GB, 30hr, Rp55rb. Ayo isi pulsa di XL Center, ATM, Minimarket, Inet, m-Banking. Info 817
如何仅打印短信内容?所以我希望输出如下:
Maaf, pulsa Anda tidak cukup untuk mengaktifkan Pkt Super Ngebut 11GB, 30hr, Rp55rb. Ayo isi pulsa di XL Center, ATM, Minimarket, Inet, m-Banking. Info 817
我试过但没成功。
最佳答案
我相信这是你想要的:
$ awk '/^$/{f=1} f && /./{print;f=0}' sms.txt
Maaf, pulsa Anda tidak cukup untuk mengaktifkan Pkt Super Ngebut 11GB, 30hr, Rp55rb. Ayo isi pulsa di XL Center, ATM, Minimarket, Inet, m-Banking. Info 817
工作原理
/^$/{f=1}
每次遇到空行时,标志
f
都设置为1。f && /./{print;f=0}
如果标志
f
为非零且当前行不为空,则打印当前行并将f
重置为零。选择
正如jotne在评论中所建议的,这里还有另外两个实现相同目标的
awk
命令:awk '!/./{f=1} f && /./{print;f=0}' sms.txt
awk '!NF{f=1} f && NF{print;f=0}' sms.txt