2

我运行一个输出类似于 ls -l 的 find 命令,我需要插入一个新行但它不起作用

find $dir_name -size $sizeFile -printf '%M %n %u %g %s %Tb %Td %Tk:%TM %p\n'

我得到的输出是这样的:

-rwx------ 1 juanpa juanpa 26615 Nov 04 20:47 ./sample.dir1/vimtutor -rwx------ 1 juanpa juanpa 25557 Nov 04 20:47 ./sample.dir1/cdlist -rwx------ 1 juanpa juanpa 135838 Nov 04 20:47 ./sample.dir1/.phones -rwx------ 1 juanpa juanpa 26615 Nov 04 20:47 ./sample.dir1/testdir1/vimtutor -rwx------ 1 juanpa juanpa 26615 Nov 04 20:47 ./sample.dir1/testdir1/subdir1/vimtutor -rwx------ 1 juanpa juanpa 135838 Nov 04 20:47 ./sample.dir1/testdir1/subdir1/phones -rwx------ 1 juanpa juanpa 25557 Nov 04 20:47 ./sample.dir1/testdir1/subdir1/cdlist -rwx------ 1 juanpa juanpa 20558 Nov 04 20:47 ./sample.dir1/testdir1/subdir1/sample.txt -rwx------ 1 juanpa juanpa 135838 Nov 04 20:47 ./sample.dir1/testdir1/phones -rwx------ 1 juanpa juanpa 25557 Nov 04 20:47 ./sample.dir1/testdir1/cdlist -rwx------ 1 juanpa juanpa 20558 Nov 04 20:47 ./sample.dir1/testdir1/sample.txt -rwx------ 1 juanpa juanpa 20558 Nov 04 20:47 ./sample.dir1/sample.txt -rwx------ 1 juanpa juanpa 26615 Nov 04 20:47 ./sample.dir2/vimtutor -rwx------ 1 juanpa juanpa 25557 Nov 04 20:47 ./sample.dir2/cdlist -rwx------ 1 juanpa juanpa 26615 Nov 04 20:47 ./sample.dir2/testdir2/vimtutor -rwx------ 1 juanpa juanpa 135838 Nov 04 20:47 ./sample.dir2/testdir2/phones -rwx------ 1 juanpa juanpa 25557 Nov 04 20:47 ./sample.dir2/testdir2/cdlist -rwx------ 1 juanpa juanpa 26615 Nov 04 20:47 ./sample.dir2/testdir2/subdir2/vimtutor -rwx------ 1 juanpa juanpa 135838 Nov 04 20:47 ./sample.dir2/testdir2/subdir2/phones -rwx------ 1 juanpa juanpa 25557 Nov 04 20:47 ./sample.dir2/testdir2/subdir2/cdlist -rwx------ 1 juanpa juanpa 20558 Nov 04 20:47 ./sample.dir2/testdir2/subdir2/sample.txt -rwx------ 1 juanpa juanpa 20558 Nov 04 20:47 ./sample.dir2/testdir2/sample.txt -rwx------ 1 juanpa juanpa 20558 Nov 04 20:47 ./sample.dir2/sample.txt

有谁知道我错过了什么或做错了什么???

提前感谢您的帮助

4

2 回答 2

2

寻找 。-size 0 -printf '%M %n %u %g %s %Tb\n \b%Td %Tk:%TM %p\n'

使用 \n 上面是一个例子。

顺便说一句,如果您想要“ls”格式,那么已经有一个选项。例子。

寻找 。-大小 0 -ls

于 2012-11-05T06:42:11.083 回答
0

尝试双引号而不是单引号:

find $dir_name -size $sizeFile -printf "%M %n %u %g %s %Tb %Td %Tk:%TM %p\n"

(编辑:实际上我只是在我的系统上尝试了双引号和单引号,并且两者都在单独的行上正确输出文件)

您是否将输出保存到变量?

如果你正在做这样的事情:

files=$(find $dir_name -size $sizeFile -printf '%M %n %u %g %s %Tb %Td %Tk:%TM %p\n')
echo $files

然后确保$files在使用它时用双引号括起来:

echo "$files"
于 2012-11-05T06:36:18.317 回答