当前位置: 技术问答>linux和unix
shell求助
来源: 互联网 发布时间:2016-03-10
本文导语: 刚学习shell,有个问题请教一下 在一个文本文件中有一些乱序的字符串,例如:fff bbb ccc aaa eee。我想按字母序排好后输出,首先想到的是sort命令,可是不管用,如果这些字符串以回车分割,就可以了,我记得有...
刚学习shell,有个问题请教一下
在一个文本文件中有一些乱序的字符串,例如:fff bbb ccc aaa eee。我想按字母序排好后输出,首先想到的是sort命令,可是不管用,如果这些字符串以回车分割,就可以了,我记得有个确定分隔符的命令,可没找的,请大家指点一下,或者说一下您的方法,谢谢。
在一个文本文件中有一些乱序的字符串,例如:fff bbb ccc aaa eee。我想按字母序排好后输出,首先想到的是sort命令,可是不管用,如果这些字符串以回车分割,就可以了,我记得有个确定分隔符的命令,可没找的,请大家指点一下,或者说一下您的方法,谢谢。
|
[code=BatchFile]$ cat test.txt
aaaa ffffffff ddddddd scccc
$
$
$ cat test.txt | sed 's/ */n/g' | sort
aaaa
ddddddd
ffffffff
scccc[/code]
aaaa ffffffff ddddddd scccc
$
$
$ cat test.txt | sed 's/ */n/g' | sort
aaaa
ddddddd
ffffffff
scccc[/code]
|
空格要两个,第二个空格是和后面的‘*’通配符连用的,此时你空格加’*‘相当于可以匹配多个空格,甚至一个空格也没有也会得到匹配;如果只有一个空格的话,意思就是任意一个字符都可以得到匹配。一个空格加’*‘并不是最低匹配一个空格的意思,不是空格也可以的。
|
使用sed 体会空格或者TAB键为换行,再sort
|
echo fff bbb ccc aaa eee|sed 's/ /n/g'|sort |awk '{printf " " $0} END{print "n"}'