2015-04-24 88 views
0

我用last | grep pts/檢查誰登錄我的樹莓派:如何在shell腳本中提取部分字符串?

samuelli pts/2  localhost  Fri Apr 24 19:51 still logged in 
pi  pts/1  localhost  Fri Apr 24 19:50 - 19:53 (00:03)  
liuly pts/1  localhost  Fri Apr 24 19:50 - 19:50 (00:00) 

現在我想的用戶名像pi和他們的登錄時間像Fri Apr 24 19:51和輸出的用戶名和時間提取到一個文件中。我怎麼能寫這個腳本?使用cut

+0

你嘗試過這麼遠嗎? 'cut'的問題是它不能很好地處理可變數量的空格。取而代之的是'awk'。 – dg99

回答

1

使用awk將打印出的用戶名,以及時間和>>可以將其重定向到一個文本文件:

last | grep pts/ | awk '{print $1 " "$4 " "$5 " "$6 " "$7}' >> sampletest.txt

+1

awk程序的一個主要特徵是可能在動作塊之前的條件。使用該條件來選擇行而不是額外的'grep':'last |通常是有意義的awk'/ pts \ // {打印[...]' –