2009-10-29 78 views
1

我需要删除文本文件中每行的前三个空格。删除前三个空格

我曾尝试以下:

sed 's/ //3' 

这仅删除第三次出现。

sed 's/ //3g' 

这使得前三出现的单独空间,并删除所有以下的,这是我想要的完全相反。

回答

6
sed -e 's/ //' -e 's/ //' -e 's/ //' 
+3

' 'S///; S///; S///''我救了10个字符! – LiraNuna 2009-10-29 23:35:41

+0

我不敢相信我没有想到这个解决方案。 – ytu903 2009-10-30 00:36:38

0

sed 's/ \{1,3\}//' < file.txt

+0

只为我获得第一个......你确定? – Deverill 2009-10-29 23:07:45

+2

这只适用于有3个连续空格的情况。 – EmFi 2009-10-29 23:37:16

+0

无用的猫' – 2009-10-30 01:47:21

1
 
sed 's/ \([^ ]*\) \([^ ]*\) /\1\2/' < filename 
+0

什么是重定向? – 2009-10-30 01:46:49

+0

不需要重定向.... – ghostdog74 2009-10-30 04:04:39

+0

你是对的。习惯的力量。 – Beta 2009-10-30 14:18:17