去不掉文件中空行

suse@linux-qmfx:~/program> cat -n ifs.txt
1 q b d
2
3 abc
4
5 b g ll
6 {
7 }
8
9
10
11 j h k
suse@linux-qmfx:~/program> sh real.sh
q b d
abc
b g ll
{
}
j h k
suse@linux-qmfx:~/program> cat wei.sh
#!/bin/bash
#grep -v ‘^$’ ifs.txt
sed ‘/^$/d’ ifs.txt
suse@linux-qmfx:~/program> sh wei.sh
q b d
abc

b g ll
{
}

j h k
suse@linux-qmfx:~/program>
第 6、7 行行首有空格。我复制到网上,空格自动不见了。执行 real.sh 改变了“{”、“}”位置,把它们放到行首了,我不想改变“{”、“}”位置。cat.sh 只去掉了第 2 行,8、9、10 行都去不掉。

suse@linux-qmfx:~/program> grep -c ‘^$’ line.txt
0
suse@linux-qmfx:~/program> grep -v ‘^$’ line.txt
q b d
abc
b g ll
{

}
j h k
suse@linux-qmfx:~/program>
这又是为什么

[ma@archlinux temp]$ cat ifs.txt 
q b d
abc

b g  ll
{
}


 j h k[ma@archlinux temp]$ sed 's/^$/d' ifs.txt 
sed:-e 表达式 #1,字符 6:未终止的“s”命令
[ma@archlinux temp]$ sed '/^$/d' ifs.txt 
q b d
abc
b g  ll
{
}
 j h k[ma@archlinux temp]$ grep -v '^$' ifs.txt 
q b d
abc
b g  ll
{
}
 j h k

空行能去掉啊````````