| aliases | ||||
|---|---|---|---|---|
| tags |
|
|||
| created | 2024-09-19 14:43:32 -0700 | |||
| modified | 2025-11-19 13:09:37 -0800 |
awk 中的「字段」,指的是一行中的列,列与列之间用特定的符号隔开(分隔符)。
[!info]
默认情况下,
awk的字段分隔符是空白字符。可以通过-F参数显式地对分隔符进行设置。
awk 中有两种变量:用户自定义变量和 内建变量。
NF:当前记录的字段数FS:字段分隔符
统计 zip 包中有多少个一级目录
zipinfo $zip_file | grep "^d" | awk '{print $9}' | awk 'BEGIN{FS="/"}{print $1}' | uniq | wc -l[!info] 解释代码各步骤
grep "^d"先把所有目录都筛出来awk '{print $9}'把最后那段,即目录路径那个字段筛出来(按默认的空格分隔)awk 'BEGIN{FS="/"}{print $1}':改变分隔符为/,就是路径分隔符,把一级目录与其目录分离并取出一级目录uniq:去重,把相同名称的(一级)目录去掉重复wc -l:统计数量
echo "~/MyNotes/ITNotes/常用字体.txt" | awk -F '/' '{print $(NF-1)}'结果:
ITNotes[!info]
-F是指定分隔符,默认是:来分隔的
$NF是最后一列,而倒数第二个就是$(NF-1)