pathToBins=$1
bins="${pathToBins}contigs.fa.metabat-bins-*"
for fileName in $bins
do
echo $fileName
done
我的目標是爲我的文件名添加一個路徑。當我不附加路徑時,我可以迭代文件夾並獲取文件名。我的挑戰是當我添加路徑回聲文件名我的正則表達式不再有效,我得到「/home/erikrasmussen/Desktop/Script/realLargeMetaBatBinscontigs.fa.metabat-bins-*」,其中正則表達式'*'被視爲一個串。如何在遍歷文件的文件夾時獲取路徑以及完整的文件名?在Bash中使用指定路徑對目錄進行迭代
對數組符號的任何優點:'for fileName in「$ {pathToBins}」/ contigs.fa.metabat-bins- *;做echo「$ fileName」; done'?如果稍後需要數組,那麼將其保存一次會更好,但是如果信息只用了一次,則不需要將其保存在數組中。 (我同意數組應該比他們使用更頻繁,但是。) –
@JonathanLeffler:我同意,如果'bin'不會被重用,那麼創建它就沒有意義了。我只是試圖保持與OP的並行,其中'bins'是故意創建的,但是作爲一個字符串而不是一個數組。我(可能錯誤地)認爲這個問題是一個片段,並且在最後的腳本中'bins'將被多次使用。 – rici