Chinaunix
标题:
求grep匹配数值后的排序问题
[打印本页]
作者:
yexingqi
时间:
2017-08-16 12:05
标题:
求grep匹配数值后的排序问题
请教一下, 我有一个文本内容做了grep的匹配,
我能让它的输出内容固定下来吗? 就按照我grep -E的顺序排列? 谢谢了!
cat aaa.txt
111
222
333
aaa
bbb
ccc
实际出来的结果是: cat aaa.txt |grep -E "bbb|aaa|ccc|333|222|111"
111
222
333
aaa
bbb
ccc
我希望的结果是
bbb ; aaa ; ccc ; 333 ;222 ;111
如果内容是空的grep不到,那么就变成类似这样: bbb ; ; ; 333 ;222 ;111
就像我grep -E的顺序一样,请问如何实现呢? 谢谢了!
作者:
moperyblue
时间:
2017-08-16 12:48
#!/bin/bash
keys=(bbb aaaa cccc 333 222 111)
s=""
for i in "${keys[@]}"; do
grep -q "$i" aaa.txt && s+="$i;" || s+=";"
done
echo "${s%;*}"
复制代码
作者:
yexingqi
时间:
2017-08-16 15:42
回复
2#
moperyblue
谢谢,学习了,您的思路比较宽广!!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2