2013-07-23 25 views
-4

更改"<path>"不同字符串的值取決於最後一行。在這種情況下,當在最後一行「*」中看到用"ls -lrt"代替"<path>",並且在"find"看到任何其他內容的斜線時將"*"從最後一行中分開。用不同的字符串更改「<path>」值取決於最後一行

文本文件:

<path>/etc/inet.d/*.conf 
<path>/etc/rc/* 
<path>/etc/rc* 

期望查看:

find /etc/inet.d/*.conf 
ls -lrt /etc/rc/ * 
ls -lrt /etc/rc* 
+0

試着想想別人應該如何理解您發佈 – hek2mgl

+0

我推論的假設由@ hek2mgl:WUT ? – twalberg

+0

@twalberg這是什麼意思?我只是想指出一個事實,即我不明白這個問題,而我願意提供幫助。你們倆,OP和Twalberg都應該努力提高你們的溝通技巧! – hek2mgl

回答

2

我想你的意思是每行的最後一個字符,而不是最後一行!與您的數據

awk '{if($0~/\*$/)sub(/<path>/,"ls -lrt ");else sub(/<path>/,"find ")}7' file 

,如果它是正確的,看看這個

kent$ echo "<path>/etc/inet.d/*.conf 
<path>/etc/rc/* 
<path>/etc/rc*"|awk '{if($0~/\*$/)sub(/<path>/,"ls -lrt ");else sub(/<path>/,"find ")}7' 
find /etc/inet.d/*.conf 
ls -lrt /etc/rc/* 
ls -lrt /etc/rc* 
+1

+1爲你的努力在一個難以理解的問題。對我而言,目前很可能這是正確的答案 – hek2mgl

相關問題