awk

Substr 函数

语法:

substr(input-string, location, length)

substr函数在上面的语法里,提取给定字符串的一部分:

1. input-string:输入字符串包含子串

2. location:子串开始位置

3. length:从开始位置提取的字符总数。此参数可选。当你不指定它,提取字符串从起始位置开始

下面的例子从第五个字段提取字符串并打印该行剩余部分,第一个字段3个字符是产品编号,第四个字符是逗号分隔符。所以, 这将跳过产品编号并打印剩下部分。

$ cat items.txt
101,HD Camcorder,Video,210,10
102,Refrigerator,Appliance,850,2
103,MP3 Player,Audio,270,15
104,Tennis Racket,Sports,190,20
105,Laser Printer,Office,475,5

$ awk '{print substr($0,5)}' items.txt
HD Camcorder,Video,210,10
Refrigerator,Appliance,850,2
MP3 Player,Audio,270,15
Tennis Racket,Sports,190,20
Laser Printer,Office,475,5

从(第二个字段)第一个字符开始并打印五个字符

$ awk -F"," '{print substr($2,1,5)}' items.txt
HD Ca
Refri
MP3 P
Tenni
Laser