Bash 编程技巧
检查命令是否成功
原版
1
2
3
4
5
6
7echo abcdee | grep -q abcd
if [ $? -eq 0 ]; then
echo "found
else
echo "not found"
fi简洁版
1
2
3
4
5if echo abcdee | grep -q abc; then
echo "found"
else
echo "not found"
fi精简版
1
echo abcdee | grep -q abc && echo "found" || echo "not found"
标准输出、错误输出重定向到/dev/null
原版
1
grep "abc" text.txt 1>/dev/null 2>&1
简洁版
1
grep "abc" text.txt &> /dev/null
awk
使用
- 原版
1
sudo xm li | grep vm_name | awk `{print $2}`
- 简洁版
1
sudo xm li | awk `/vm_name/{print $2}`
逗号连接所有行
原版:
sed
1
sed ":a;$!N;s/\n/,;ta" test.txt
简洁:
paste
1
paste -sd, /tmp/test.txt
过滤重复行
原版:
sort
1
sort text.txt | unique
简洁版
1
sort -u text.txt