2010-03-03 12 views
8

मैं शैल स्क्रिप्टिंग में गूंज का उपयोग करके स्वरूपण करना चाहता हूं।क्या मैं इको और बैश के साथ एक स्ट्रिंग में चर संरेखित कर सकता हूं?

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

ध्यान दें कि अगर इस लाइन पाश के लिए एक में है, तो आप "पूर्ण", या यह केवल एक लाइन प्रिंट होगा न्यू लाइन प्रतीक जोड़ने की जरूरत है "\ n" शब्द के बाद। – CodyChan

संबंधित मुद्दे