linux - 删除特定列后的字符

标签 linux bash shell

我有一个文件:

Offset(V)  Name                    PID   PPID   Thds     Hnds   Sess  Wow64 Start                          Exit                          
---------- -------------------- ------ ------ ------ -------- ------ ------ ------------------------------ ------------------------------
0x823c8830 System                    4      0     58      573 ------      0                                                              
0x81f04228 smss.exe                548      4      3       21 ------      0 2010-02-26 03:34:02 UTC+0000                                 
0x822eeda0 csrss.exe               612    548     12      423      0      0 2010-02-26 03:34:04 UTC+0000                                 
0x81e5b2e8 winlogon.exe            644    548     21      521      0      0 2010-02-26 03:34:04 UTC+0000                                 

我想要这样的输出:

PID   PPID

 4      0  
548      4

最佳答案

你可以从这里开始:

awk 'NR!=2 {print $3, $4}' input.txt

输出:

PID PPID
4 0
548 4
612 548
644 548

Awk 将使用“”作为分隔符,并打印第三组和第四组字符(跳过第 2 行,因为我们使用 NR 变量跳过它)。

关于linux - 删除特定列后的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48786344/

相关文章:

bash - 在 bash 脚本中保持 SSH 打开

linux - Awk:如何用新行构建一个字符串变量?

linux - 如何让bash shell输出带有颜色的字体?

c++ - Linux - 哪些资源需要提升权限的 C/C++ 编程?

c - 所有解析器都是用 yacc 或 bison(和 lex/flex)制作的吗?

linux - 水平连接所有文件且仅连接特定列

linux - 什么是内存映射页和匿名页?

bash - 用 awk 分隔连接的列

c - 如何获取 system() 运行的命令的状态

linux - 根据文本文件内容中的行数运行循环次数(Unix Shell 脚本)