我有一個包含相對路徑的文件,每行一個路徑,即是這樣的一個文件(比如叫list.txt
):Ubuntu bash腳本:如何用最後一個斜槓分割路徑?
foo/bar/file1
foo/bar/baz/file2
goo/file3
我需要編寫一次處理一個路徑的bash腳本,將它拆分爲最後一個斜槓,然後啓動另一個將其兩條路徑作爲參數的進程。到目前爲止,我只有循環部分:
for p in `cat list.txt`
do
# split $p like "foo/bar/file1" into "foo/bar/" as part1 and "file1" as part2
inner_process.sh $part1 $part2
done
如何拆分?當路徑沒有斜槓時,這會在退化情況下工作嗎?
THX
這實際上是「part1 ='dirname $ p' /」,因爲我需要最後一個斜槓,但除此之外它是完美的:-) –
只要文件名包含空格或有趣的符號,就會崩潰。 。':-(' –
這樣的斷裂對於解決co而言是微不足道的urse:'part1 =「$(dirname」$ p「)」'和'part2 =「$(basename」$ p「)」' – zenaan