2012-08-08 69 views
2

我目前正在寫有下面的代碼在Linux腳本:壓痕與Linux的命令行工具

echo "\nCompiled on:\n `gcc --version`\n" 

輸出格式爲這樣:

 
Compiled on: 
gcc (GCC) 3.4.4 etc... 
This is free software... 

但是我希望命令被格式化如下:

 
Compiled on: 
    gcc(GCC) 3.4.4 etc... 
    This is free software... 

我該如何格式化文本,以便從輸出的每個LINE命令有它自己的選項卡?

回答

2

如何:

echo "\nCompiled on:\n $(gcc --version | sed 's/^/\t/g')\n" 

gcc --version輸出通過管道輸送到sed,其在該行的開頭添加一個標籤。

或者,您可以用awk(可以更短,如果你不需要額外的新行):

gcc --version | awk 'BEGIN { print "\nCompiled on:" } { print "\t" $0 } END { printf RS }' 
+0

夢幻般的感謝。我討厭在使用正則表達式和awk時如此無知。 – franklin 2012-08-08 16:38:04