2014-03-25 44 views
0

對不起,我不確定如何設置正確的標題,但我會解釋我的問題。FOR循環後的sed/grep

我有一個bash腳本,我在IF語句中有一個for循環的代碼的一部分,我正在讀取temp中的行。文件和seding/grep /編輯它們。這個週期內的一切都正常工作,並且如預期的那樣,輸出是100%正確的。

if ... 
for ((i=0; i<${lenght_temp}; i++)) 
do stuff 
done 
fi 

事情是,我想在離開「for循環」之後編輯此輸出。 更具體地說,我需要添加一個標題(所以新的第一行),頁腳和編輯一些單詞。所以我在離開FOR後立即嘗試sed,但它根本不起作用。我正在嘗試一些簡單的事情。

if ... 
for ((i=0; i<${lenght_temp}; i++)) 
do stuff 
done 
sed something 
fi 

我知道這可能會工作,如果我把輸出重定向到一個溫度。文件,但這是棘手的,因爲我只允許使用它一次。有人能幫助我嗎?

謝謝。

回答

2

你可以這樣做:

#!/bin/bash 
if [ 1 -eq 1 ]; then 
echo Yes, 1 is 1 
fi | sed "s/1/2/g" 

輸出:

Yes, 2 is 2 

要添加標題和頁腳,試試這個:

#!/bin/bash 
if [ 1 -eq 1 ]; then 
echo Yes, 1 is 1 
fi | sed -e '1i\ 
Title 
' -e 's/1/2/g' -e '$a\ 
Footer' 

輸出:

Title 
Yes, 2 is 2 
Footer 
+0

哦,男人,爲什麼我以前沒有想過這個......用一根管子,這麼簡單。 謝謝。 – SaKer

+0

大聲笑....我甚至沒有看到...... + 1伴侶! :) – NoobEditor

+0

NoobEditor,是的,這是...我試圖編輯輸出後,它離開了循環..使用|它是如何工作的... – SaKer