Linux awk split
时间: 2023-07-07 21:37:06 浏览: 147
Linux里awk中split函数的用法小结
在 Linux 上,`awk` 命令中的 `split` 函数可以将一个字符串按指定分隔符分割成多个子字符串,并将子字符串存储到一个数组中。`split` 函数的基本语法如下:
```
split(string, array, separator)
```
其中,`string` 表示要分割的字符串,`array` 表示存储子字符串的数组,`separator` 表示分隔符。
例如,要将字符串 `hello,world,how,are,you` 按逗号 `,` 分隔成多个子字符串,可以使用以下 `awk` 命令:
```
echo "hello,world,how,are,you" | awk '{split($0, arr, ","); for(i in arr) print arr[i]}'
```
该命令将会输出以下结果:
```
hello
world
how
are
you
```
在上面的命令中,`$0` 表示当前行的文本内容,`arr` 表示存储子字符串的数组,`for(i in arr)` 表示遍历数组中的元素,并输出每个元素。
`split` 函数还可以指定第四个参数 `seps`,用于存储分隔符。例如,以下 `awk` 命令可以将字符串中的逗号 `,` 和空格符号分隔出来:
```
echo "hello, world, how, are, you" | awk '{split($0, arr, /[ ,]+/, seps); for(i in arr) print arr[i]}'
```
该命令将会输出以下结果:
```
hello
world
how
are
you
```
在上面的命令中,`/[ ,]+/` 表示匹配逗号和空格符号,`seps` 数组中存储的是分隔符。
阅读全文