我有一个看起来像这样的文本文件:
> cat test.txt
“Il faut attendre l’expiration du cache.”
“C'est sûrement un problème lié à l'hébergement.”
“Tu as du cliquer de travers.”
> cat -e test.txt
$
�M-^@M-^\Il faut attendre l�M-^@M-^Yexpiration du cache.�M-^@M-^]$
$
$
�M-^@M-^\C'est sûrement un problème lié à l'hébergement.�M-^@M-^]$
$
$
�M-^@M-^\Tu as du cliquer de travers.�M-^@M-^]$
$
我希望我的文件看起来像这样:
> cat test.txt
“Il faut attendre l’expiration du cache.”
“C'est sûrement un problème lié à l'hébergement.”
“Tu as du cliquer de travers.”
为了做到这一点,我尝试了sed -e 's/^\s*//' -e '/^$/d' test.txt
但我无法得到我想要的结果。它只删除一个空白行,我仍然没有弄清楚如何删除标签。
> sed -e 's/^\s*//' -e '/^$/d' test.txt
“Il faut attendre l’expiration du cache.”
“C'est sûrement un problème lié à l'hébergement.”
“Tu as du cliquer de travers.”
如何删除字符串开头的所有空行和制表符?
答案 0 :(得分:0)
你可能没有GNU Sed。使用GNU Sed,你的sed命令应该可以工作。
您可以尝试另一种解决方案:
sed -e 's/^[[:space:]]*//' -e '/^$/d' test.txt
或者,只是删除使用空格和标签:
sed -e 's/^[ \t]*//' -e '/^$/d' test.txt