linux - 使用 Bash 删除文本文件中的列?

标签 linux bash unix

我需要编写一个脚本,从 finger 的输出中删除空闲列。

>finger
Login    Name                 TTY  Idle  Login  Time   Office  Phone
Billy    Billy Howard        *con  6:55  Fri    19:03
Billy    Billy Howard         s00     5  Fri    19:11
Billy    Billy Howard         s00        Sat    00:27

我尝试使用 tr 删除多余的空格,然后使用带有空格分隔符的 cut 删除列,但是由于 Idle 可能没有值,我有时会得到错误的值,因为 tr 分隔的空格应该是空闲时间...有谁知道如何删除空闲列?

最佳答案

这可能对你有用:

finger |  sed 's/\(.\{35\}\)...../\1/'

或者这个:

finger |  cut --complement -c36-40 

关于linux - 使用 Bash 删除文本文件中的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9238736/

相关文章:

c - C程序动态加载文件

python - IPython 从 Ubuntu 到 Windows UNC 路径

mysql - linux下mysql从哪个目录启动

c++ - 调用外部脚本时的奇怪行为

bash - 在 getopts 之后解析参数

linux - 如何将 "command -i interval | tail"输出写入文件

linux - 'set -- $REPLY' 是做什么的?

linux - 无法捕获 ctrl-c 以退出函数退出 bash 脚本

java - 无法获取配置文件 : export: Command not found

linux - 如何在 Linux 中 Grep 不同行中的不同单词