我试图将find $PWD
的输出(当前目录和子目录中的所有文件和目录)放在一列中......现在它将所有内容打印成一行。 />
一个例子:
/Users/blah /Users/blah/blah /Users/blah/blah/blah.txt
我需要它
/Users/blah
/Users/blah/blah
/Users/blah/blah/blah.txt
谢谢!
答案 0 :(得分:1)
在我的计算机上find $PWD
每行也会提供一个文件,正如Yohanes Khosiawan所说。
但是试着用
强制它find $PWD -printf "%p\n"
摘自man find
:
-printf format print format on the standard output, interpreting '\' escapes and '%' directives. Field widths and precisions can be specified as with the 'printf' C function.
使用ls
ls -1
从帮助中摘录:
-1 -- (The numeric digit "one") Force output to be one entry per line. This is the default when output is not to a terminal.
答案 1 :(得分:1)
我的通灵能力告诉我你在变量中捕获这些数据或者通过echo传递它:
var=$(find $PWD)
echo $var
--or--
echo $(find $PWD)
这会导致您看到的效果,因为您忽略了引用。你应该总是双引几乎所有变量和命令替换:
var=$(find "$PWD")
echo "$var"
--or--
echo "$(find "$PWD")"
这将打印捕获的数据,使用换行符而不是空格。