linux - 使用 args 从分隔文件中捕获列

标签 linux bash sed awk

我有以下文件:

123 | xyz | abc | abc | abc | 567
321 | xyz | abc | abc | abc | 765

我写这个脚本是为了捕获 first |最后列:

#!/bin/bash
line=$(cat input.txt | sed 's/ //g')
args=(${line//|/ })
x="${args[0]}"
y="${args[11]}"
echo $x
echo $y

结果是:

123
765

我怎样才能得到以下结果:

123 | 567
321 | 765

谢谢

最佳答案

你可以使用sed

sed 's/|.*|/|/' input.txt

关于linux - 使用 args 从分隔文件中捕获列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21872213/

相关文章:

linux - 如何构建一个脚本来使用 bash 以可访问的方式为每个网络单独存储 channel 、BSSID 和 ESSID

bash - 使用 ?带 ls 的通配符

c - C中udp套接字上的poll()POLLIN事件

linux - 手册页中 Unix 命令名称后括号中的数字是什么意思?

bash - shell 脚本对编码和行尾敏感吗?

awk - 输出匹配模式,同时保留它们存在的行-bash

ios - 使用 bash 脚本在 Info.plist 中添加/替换 URL Scheme

regex - 理解 sed 命令中的正则表达式

linux - 如何在Raspbian下设置jackd和guitarix的实时优先级?

linux - 当我在终端中键入 perl 并按下回车键时会发生什么?