lsof 和 ps 中的列对齐
Alignment of columns in lsof and ps
我正在努力将 popen
的输出解析为 lsof
和 ps
。
我想知道第一列和最后一列是否始终左对齐?而中间的其余部分总是右对齐?如列 FD
所示,列的最小宽度是 3
?
例如:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME\n
bash 252 noida cwd DIR 1,2 1088 410828 /Users/noida ion/Desktop\n
bash 252 noida txt REG 1,2 628736 11647 /bin/bash\n
bash 252 noida txt REG 1,2 622896 11866 /usr/lib/dyld\n
bash 252 noida txt REG 1,2 382100934 418209 /private/var/db/dyld/dyld_shared_cache_x86_64\n
bash 252 noida 0u CHR 16,0 0t401079 601 /dev/ttys000\n
bash 252 noida 1u CHR 16,0 0t401079 601 /dev/ttys000\n
bash 252 noida 2u CHR 16,0 0t401079 601 /dev/ttys000\n
bash 252 noida 255u CHR 16,0 0t401079 601 /dev/ttys000\n
0\u000b\u0001
您得到的输出可能是默认格式的。
在 popen 中传递 shell 命令时也添加格式选项。
将列命令通过管道传输到您的 lsof 命令。
例如:
反转对齐
lsof -ps |列-t |转
粗略示例:
//反转对齐。
FILE *fp;
char pOpenCmd[100] = "lsof -ps | column -t | rev";
fp = popen(pOpenCmd, "r");
要将所有内容都对齐到左侧,请使用 "column -t"
也许你可以通过管道 "column -c" 来指定列的宽度。
您在下面的此处有更多选择 link。
http://man7.org/linux/man-pages/man1/column.1.html
我正在努力将 popen
的输出解析为 lsof
和 ps
。
我想知道第一列和最后一列是否始终左对齐?而中间的其余部分总是右对齐?如列 FD
所示,列的最小宽度是 3
?
例如:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME\n
bash 252 noida cwd DIR 1,2 1088 410828 /Users/noida ion/Desktop\n
bash 252 noida txt REG 1,2 628736 11647 /bin/bash\n
bash 252 noida txt REG 1,2 622896 11866 /usr/lib/dyld\n
bash 252 noida txt REG 1,2 382100934 418209 /private/var/db/dyld/dyld_shared_cache_x86_64\n
bash 252 noida 0u CHR 16,0 0t401079 601 /dev/ttys000\n
bash 252 noida 1u CHR 16,0 0t401079 601 /dev/ttys000\n
bash 252 noida 2u CHR 16,0 0t401079 601 /dev/ttys000\n
bash 252 noida 255u CHR 16,0 0t401079 601 /dev/ttys000\n
0\u000b\u0001
您得到的输出可能是默认格式的。 在 popen 中传递 shell 命令时也添加格式选项。
将列命令通过管道传输到您的 lsof 命令。
例如:
反转对齐
lsof -ps |列-t |转
粗略示例:
//反转对齐。
FILE *fp;
char pOpenCmd[100] = "lsof -ps | column -t | rev";
fp = popen(pOpenCmd, "r");
要将所有内容都对齐到左侧,请使用 "column -t"
也许你可以通过管道 "column -c" 来指定列的宽度。
您在下面的此处有更多选择 link。 http://man7.org/linux/man-pages/man1/column.1.html