我将如何针对以下代码对多列进行排序?
目前,代码:
1.获取a中的一个@list文件$directory
.使用正则表达式获取$fileName,$fileLocation并$fileSize使用3中的每个元素@list
.将(2)中的3个值打印成3个固定宽度列4.然后打印出总数文件数和目录大小
我希望输出显示排序依据:
1.$fileName然后
2. $fileLocation然后
3.$fileSize
$directory = '/shared/tmp';
$count = 0;
@list = qx{du -ahc $directory};
printf ("%-60s %-140s %-5s\n", "Filename", "Location", "Size");
foreach(@list) {
chop($_); # remove newline at end
if (/^(.+?K)\s+(.+\/)(.+\.[A-Za-z0-9]{2,4})$/) { # store lines with valid filename into new array
# push(@files,$1);
$fileSize = $1;
$fileLocation = $2;
$fileName = $3;
if ($fileName =~ /^\./) {
next; } …Run Code Online (Sandbox Code Playgroud)