我的文件:

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

10-01 15:26