linux - 根据 linux 中第三列的条件交换两列

标签 linux multiple-columns

我有一个像这样的 3 列的文件

  Col1         Col2          Col3 
   A            B             <-
   C            D             ->
   E            F             ->

只要有,我想交换 Col1 和 Col2 的条目

<-

在第三列。我希望我的输出文件像

 Col1         Col2          Col3 
   B            A             ->
   C            D             ->
   E            F             ->

最佳答案

awk '($3=="<-"){$3=$2;$2=$1;$1=$3;$3="->"}1' <file>

本质上,如果 $3=="<-" , 然后交换列并重新定义 $3 .然后打印。

关于linux - 根据 linux 中第三列的条件交换两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47434888/

相关文章:

html - 在 HTML5 中对齐 3 列时出现问题

PHP MySQL 搜索使用多个文本框搜索多列

linux - 将 linux 内核更新到 > 3.15-rc5 并仍然使用 CentOS 6.5

linux - 使用 wget 获取 whois 信息

linux - sudo 作为 www-data 文件权限

c# - 如何使用 C# 检索存储在 sql server 中的多媒体?

html - 如何 'fill' CSS 网格列?

windows - 为什么在 windows 或 linux 下对同一个文件使用不同的 SHA-1?

database - 无法启动 Alfresco 3.4.4(启动 postgresql 时出错)

css - 多个带有 CSS 的随机列