2013-01-21 69 views
0

我想知道如何測試當前是否正在Powershell中處理命令行中的最後一行輸入(這可能不是正確的術語)。如何判斷是否處理Powershell cmdlet中的最後一行輸入?

我在一個日誌文件中有一系列的SQL語句,我想構造它們的聯合。目前,我有(在同一行,但我告訴他們這裏分開可讀性這裏)

echo "SELECT * FROM (" > union.log 
cat sql.log | %{$_ + "`n UNION `n"} >> union.log 
echo ") AS qwerty " >> union.log 

然而,這會導致一個多餘的UNION輸出。因此,如果當前行是最後一行,並且不附加字符串「UNION」,我可能想在cmdlet中測試(這是我認爲調用%{...}時所用的行)。

這甚至可能嗎?


PS-這是一個簡單的例子,在我的實際情況下,我必須做一些grepping和子提取查詢。

回答

2

如果您想要獲取一系列字符串並將它們合併在一起,最好使用-join運算符。

EG。

@('a', 'b', 'c') -join ':' 

結果a:b:c

+0

如何在輸入標準輸入時使用'join'? – ArtB

+4

像這樣 - '(cat sql.log)-join「 nUNION n」'。 –

相關問題