Talk is cheap, show me your code

一些冷门小技巧

1、awk 打印单/双引号

echo "foo bar" | awk '{print "\""$1"\"", "'\''"$2"'\''"}'

2、去除部分列后输出

cat /tmp/test | awk '{$2=""; $5=""; print $0}' | tr -s ' '

3、数据去重

cat order.csv | sort -t ',' -k1 | awk -F ',' '!a[$1]++{print $0}'

4、sed向后引用

sed -r -i "s#(\w)'(\w)#\1\2#" load.sql

5、去除输出的彩色控制字符

echo -e "\033[34m this is a test. \033[0m" | sed "s#\x1B\[[0-9;]*[a-zA-Z]##g"

6、追加的行以制表符开头

sed -i '3 a\ \t5020008: 4320,' expiration.conf

7、日志轮转 / 批量更新文件扩展名

find /data/logs -name "*.log" -type f -size +100M -print0 | xargs -0 -i bash -c 'echo "$(tail -n 1000 {})" > {}'
ls -1 | xargs -i bash -c 'name=$(echo {} | cut -d "." -f1); mv {} $name.jpg'

 

posted on 2020-03-21 23:51  LoveFlying-Nine  阅读(143)  评论(0编辑  收藏  举报

导航