我試圖把的find $PWD
輸出(所有的文件和目錄在當前目錄和子目錄)在一列...現在它打印出所有的一行。
一個例子:功放輸出在一列
/Users/blah /Users/blah/blah /Users/blah/blah/blah.txt
我需要它是
/Users/blah
/Users/blah/blah
/Users/blah/blah/blah.txt
謝謝!
我試圖把的find $PWD
輸出(所有的文件和目錄在當前目錄和子目錄)在一列...現在它打印出所有的一行。
一個例子:功放輸出在一列
/Users/blah /Users/blah/blah /Users/blah/blah/blah.txt
我需要它是
/Users/blah
/Users/blah/blah
/Users/blah/blah/blah.txt
謝謝!
我的精神力量告訴我,你在一個變量捕獲此數據或以其他方式將其通過回聲:
var=$(find $PWD)
echo $var
--or--
echo $(find $PWD)
這將導致您看到的效果因爲你忽略了引用。你應該總是雙引號幾乎所有的變量和命令替換:
var=$(find "$PWD")
echo "$var"
--or--
echo "$(find "$PWD")"
這將打印數據就像是捕捉,用換行符代替空格。
+1用於製造智能的猜測有關實際問題,而不是暗示的在於,根據該POSIX規範,不應該存在問題的修復(因此是不太可能實際存在OP的系統上)。 –
在我的電腦find $PWD
給每行一個文件也一樣,Yohanes Khosiawan說。
但是儘量從man find
與
find $PWD -printf "%p\n"
提取物,迫使它:使用ls
ls -1
-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.
相同相似變薄從幫助摘錄:
-1 -- (The numeric digit "one") Force output to be one entry per line. This is the default when output is not to a terminal.
嘗試@ brotherofken的答案..在我的計算機中,「find $ PWD」已經給出了「per-line」輸出,儘管如此.. –
爲什麼要做'find $ PWD'而不是'find'(目錄參數是可選的如果沒有輸入,應該='$ PWD')。幾件事情會幫助你找出爲什麼會發生這種情況'find --version'和'type find'(例如'-print0'選項硬件集) – BroSlow
我們需要更多的上下文。沒有人看到這種行爲,這不僅僅是巧合, 'find'不應該像你所描述的那樣運作。 –