0%

awk

1. 多个变量复制

  1. 方式 1
1
2
3
4
5
# 注意这2个 `<` 中间有空格, 而且后面的 `<` 紧挨着 `(`
read year month day < <(echo '2018-07-11' | awk -F- '{print $1,$2,$3}')
echo "year: $year"
echo "month: $month"
echo "day: $day"
  1. 方式 2
1
2
3
4
5
6
echo "2018-07-11" | awk -F- '{print $1,$2,$3}' | while read year month day
do
echo "year: $year"
echo "month: $month"
echo "day: $day"
done

2. 打印最后一个参数

1
awk '{print $(NF)}' $file

3. 打印奇/偶数行

1
2
awk 'NR%2 == 0' $file
awk 'NR%2 == 1' $file

4. 匹配打印

1
2
# 匹配第二列形如 `my.*` 的行, 并打印第一列
docker ps | awk '($2 ~ /my.*/){print $1}'