我想用来find
查找一些文件,并将所有文件作为一行返回(没有换行符),并在文件之间使用自定义分隔符。
因此,例如三个文件的结果将是
/my/file/1::/my/file/2::/my/file/3
Run Code Online (Sandbox Code Playgroud)
代替
/my/file/1
/my/file/2
/my/file/3
Run Code Online (Sandbox Code Playgroud)
有没有办法结合使用标准的 unix 工具来实现这一点find
?
hee*_*ayl 10
您可以使用 :
find . -type f -printf '%p::' | sed 's/::$/\n/'
Run Code Online (Sandbox Code Playgroud)
-printf
谓词find
将被分隔一行打印文件名::
,然后sed
将取代过去的::
以换行符。例子 :
$ find . -type f -printf '%p\n'
./foo
./test
./bar
$ find . -type f -printf '%p::' | sed 's/::$/\n/'
./foo::./test::./bar
Run Code Online (Sandbox Code Playgroud)