bash查找格式换行

时间:2012-11-05 06:34:06

标签: bash find

我运行一个find命令,其输出类似于ls -l,我需要插入一个新行,但它不能正常工作

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

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

感谢您提供任何帮助

2 个答案:

答案 0 :(得分:2)

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

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

顺便说一下,如果你想要“ls”格式,那么已经有了一个选项。 实施例。

找到。 -size 0 -ls

答案 1 :(得分: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"