2010-03-03 31 views
8

我想在shell腳本中使用echo進行格式設置。我可以將字符串中的變量與echo和bash對齊嗎?

這裏是一個小的代碼段,其是給我的問題:

echo -en "\rFileName : $filename : $index of $lines Completed" 

$filename的是具有不同長度的字符串,並且這與在終端的格式造成的問題。我該如何克服這一點?

這裏就是我的意思是:

FileName :  a800_102 : 6 of 6 Completed 
FileName :  ersf_1024 : 56 of 56 Completed 

我想有一個表格式的,當我在終端上顯示。

回答

14

使用printf

printf "\rFileName : %20s : %8d of %8d Completed" $filename $index $lines 
+0

注意,如果這條線是在for循環中,你需要添加新行符「\ n」個字後「已完成」,或將打印只有一行。 – CodyChan 2018-01-19 09:22:26

相關問題