我们经常会遇到需要取出分字段的文件的某些特定字段,例如 /etc/password就是通过":"分隔各个字段的。可以通过cut命令来实现。例如,我们希望将系统账号名保存到特定的文件,就可以:
cut -d: -f 1 /etc/passwd > /tmp/users
-d用来定义分隔符,默认为tab键,-f表示需要取得哪个字段
当然也可以通过cut取得文件中每行中特定的几个字符,例如:
cut -c3-5 /etc/passwd
就是输出/etc/passwd文件中每行的第三到第五个字符。
-c 和 -f 参数可以跟以下子参数:
N 第N个字符或字段
N- 从第一个字符或字段到文件结束
N-M 从第N个到第M个字符或字段
FC1213-MIB::atPhysAddress.18.1.222.185.245.31 = Hex-STRING: 00 19 D1 F5 D0 0D
RFC1213-MIB::atPhysAddress.18.1.222.185.245.51 = Hex-STRING: 00 16 35 5C 49 AE
RFC1213-MIB::atPhysAddress.18.1.222.185.245.52 = Hex-STRING: 00 16 35 5C 69 D2
RFC1213-MIB::atPhysAddress.18.1.222.185.245.53 = Hex-STRING: 00 16 35 5C B6 2E
RFC1213-MIB::atPhysAddress.18.1.222.185.245.54 = Hex-STRING: 00 16 35 5C E2 C2
RFC1213-MIB::atPhysAddress.18.1.222.185.245.56 = Hex-STRING: 00 13 21 B5 80 65
RFC1213-MIB::atPhysAddress.18.1.222.185.245.57 = Hex-STRING: 00 13 21 B5 80 D9
cut -d. -f 4- czdxipmac 4后面这个减号:第4个区域以及其以后的。
222.185.225.216 = Hex-STRING: 00 18 71 68 51 A3
cut -d. -f 4- czdxipmac |awk '{print $1 "\t" $4 $5 $6 $7 $8 $9}'
也可以用cut -d. -f 4- file | awk '{print $1,$4,$5,$6,$7,$8,$9}' 中间这个“,”号指空格
所以像这种的思路是先从中间分开,让一半满足目标,然后再用其的脚步,这样就会很快。
阅读(822) | 评论(0) | 转发(0) |