2015-12-17 32 views
-1

我已經找了一個anwser,但總結出來,如果我知道正確的方向頭,這將是有益的。如果匹配awk,將文件移動到一列上

繼承人的問題。我有一個文件。以下內容。每個代碼塊應該是一個新行

nisNetgroupTriple: (,USER,) 
cn:example 
nisNetgroupTriple: (,USER,) 
nisNetgroupTriple: (,USER,) 

我希望我想能夠移動第一列到第二列,如果模式存在。像下面

nisNetgroupTriple: (,USER,) 
       *cn:example 
nisNetgroupTriple: (,USER,) 
nisNetgroupTriple: (,USER,) 

我可以處理剩下的我相信,但想封閉在值範圍內也執行命令(,,)如值USER,如再運行ldapsearch拉動相關USERID的CN值。

我知道這本身就是一個簡單的任務。但想要自動化它。

謝謝。

+0

你想匹配什麼樣的模式?它是'cn:'? – Barmar

+0

整行匹配「cn:NAME *」 –

回答

0
awk '/^cn:/ { $2 = "*"$1; $1 = "\t"} 1' input_file > output_file 

$2 = "*"$1將第一個字段複製到第二個字段,其前面帶有一個星號。 $1 = "\t"使用製表符替換第一個字段以獲取縮進(如果您願意,也可以使用一堆空格)。

+0

謝謝先生!!! :-) –

相關問題