`
ticojj
  • 浏览: 156596 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

awk按照多个分隔符进行分割 |paste

    博客分类:
  • UNIX
 
阅读更多
我们知道awk可以进行类似于cut之类的操作,如一个文件data如下

zhc-123|zhang

hongchangfirst-99|zhang

hongchang-100|zhang




如果我们

awk -F ‘-’ ‘{print $1;}’ data

会打印出

zhc

hongchangfirst

hongchang




但是如果我想根据多个分隔符进行分割呢?一种办法是两次awk,但是我们可以一次告诉awk我们所有的分隔符,如-和|这两个,如

awk -F ‘[-|]’ ‘{print $3;}’ data

会打印出

zhang

zhang

zhang

就这么简单,还有一个问题,如果我们想用[]作为分隔符怎么办?有办法,这样就行:

awk -F ‘[][]’ ‘{print $3;}’ data





这里在多说一个技巧,如果你想把两个文件按照对应的每行放在同一行上,可以用paste,比如:

data1文件为

1

2

3

data2的文件为

zhang

zhc

hongchangfirst




那么你想要得到

1 zhang

2 zhc

3 hongchangfirst




那么你这样就也可以,

paste data1 data2




默认使用tab键作为份分隔符,还可以自定义分隔符,如用=号:

paste -d‘=’ data1 data2
分享到:
评论

相关推荐

    shell中常见命令与awk,sed的等价命令

    `awk`则设置字段分隔符为斜杠,并输出最后一个字段。 ##### 17. `dirname` **Shell命令:** `dirname <file>` **Sed等价命令:** `sed 's,[^/]*$,,g' <file>` **Awk等价命令:** `awk -F'/' '{if(NF)printf ".";else{$...

    Linux paste命令的使用方法

    `paste`命令的基本功能是将多个文件的内容按列对齐,以制表符(\t)作为默认分隔符。它可以把不同文件的每一行并排放在一起,形成一个新的输出流。如果希望按行合并,可以使用`-s`选项。 ### 02. 命令格式 ```bash...

    Linux相关命令详解

    paste 的常用选项包括-d 选项,用于指定分隔符,-s 选项,用于串联文件等。 join 命令是用于合并两个或多个文件。join 语法规则包括join [OPTIONS] [FILE1] [FILE2],其中 OPTIONS 是可选参数,FILE1 和 FILE2 是...

    Sed、Awk 与 Linux 等价命令代码鉴赏

    9. `cut -d| -f6`:以`|`作为分隔符,提取第六个字段。`Sed`等价命令为`sed 's/\(\([^|]*\)\|\)\{6\}.*/\2/'`。 10. `cp file1 file2`:复制文件。`Sed`可以实现追加写入,如`sed 'w file2' file1`,但这不完全等同...

    LINUX与UNIX_Shell编程指南(上)

    11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 ...

    Linux与unix shell编程指南(1-16)

    11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 ...

    Unix操作系统常用的命令

    `paste`命令可以合并多行,用指定的分隔符连接。例如,`paste names phones`会将`names`和`phones`文件的行对应合并,以制表符分隔。`-d`选项可以自定义分隔符,`-s`选项将同一文件中的行合并。 `sed`是一个流式...

    Linux与unix shell编程指南

    11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 ...

    linux shell 编程教程

    11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 ...

    shell 编程指南pdf

    11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 ...

    LINUX与UNIX SHELL编程指南(很全)

    11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 ...

    linux数据抽取命令

    `paste` 用于合并多个文件的行。 示例命令: ```bash # 将 `file1` 和 `file2` 的行用逗号连接 paste -d, file1 file2 ``` #### 七、join `join` 用于根据指定字段连接两个文件。 示例命令: ```bash # 将 `file...

    linux与unix shell 编程(下)

    11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 ...

    LINUX与UNIX SHELL编程指南.rar

    11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 ...

    Linux与unix shell编程指南1.rar

    11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 ...

    shell教程-30章,下了之后会让你大吃一惊,相当好

    11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 ...

    LINUX与UNIX SHELL编程指南

    11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 ...

Global site tag (gtag.js) - Google Analytics