将2个linux命令的输出合并为一个输出
在linux中,有没有任何方法可以显示两个不同命令的输出,它们引用同一对象,但以交错格式提供不同的数据,而无需编写脚本 解释我所说的交错格式时的意思,请考虑以下内容:将2个linux命令的输出合并为一个输出,linux,command-line,Linux,Command Line,在linux中,有没有任何方法可以显示两个不同命令的输出,它们引用同一对象,但以交错格式提供不同的数据,而无需编写脚本 解释我所说的交错格式时的意思,请考虑以下内容: ls --full-time 将显示当前目录中每个子文件夹的完整时间戳和文件夹名称 du -sh ./* 将显示当前目录中每个子文件夹的总大小和名称 du -sh ./* 如果我先运行一个命令,然后再运行另一个命令,我会在每一行中获取所有大小,每个大小旁边都有一个文件夹名称,然后我会在它们自己的行中获取所有日期,每个日期都
ls --full-time
将显示当前目录中每个子文件夹的完整时间戳和文件夹名称
du -sh ./*
将显示当前目录中每个子文件夹的总大小和名称
du -sh ./*
如果我先运行一个命令,然后再运行另一个命令,我会在每一行中获取所有大小,每个大小旁边都有一个文件夹名称,然后我会在它们自己的行中获取所有日期,每个日期都有一个文件夹名称
“交错”是指每个命令的第一行输出,最好在一行上显示。然后,每个命令的第二行输出以相同的方式显示(ect)。也就是说,尽管并非所有这些数据都是由同一个命令提供的,但所有这些数据都将显示在同一行上,以便每个文件夹的日期、大小和名称都显示在同一行上。(我不介意文件夹名称显示两次,因为这是两个命令都提供的)。TL;TR:下面的命令仅显示如何将
join
命令与上述输入一起使用。以人类可读的格式显示文件大小以及其他ls
输出值的单个任务可以通过以下方式实现:
ls --full-time -lh
注意-h
您可以将该命令与以下命令一起使用: 我加入了
du
输出的第2列和ls
输出的第9列,即文件名。你自己试试看
例如: 假设您的文件夹包含文件
1.txt
,2.txt
,3.txt
。输出如下所示:
1.txt -rw-rw-r-- 1 jdoe jdoe 34000 2016-01-07 17:08:04.017093659 +0100 36K
2.txt -rw-rw-r-- 1 jdoe jdoe 4000 2016-01-07 17:08:18.353301052 +0100 4,0K
3.txt -rw-rw-r-- 1 jdoe jdoe 34335000 2016-01-07 17:08:25.293401318 +0100 33M
检查系统是否有
stat
cmd(which stat
,它应该在那里)。查看man stat
以了解如何使用其printf
args。祝你好运
1.txt -rw-rw-r-- 1 jdoe jdoe 34000 2016-01-07 17:08:04.017093659 +0100 36K
2.txt -rw-rw-r-- 1 jdoe jdoe 4000 2016-01-07 17:08:18.353301052 +0100 4,0K
3.txt -rw-rw-r-- 1 jdoe jdoe 34335000 2016-01-07 17:08:25.293401318 +0100 33M