2015-12-02 16 views
1

我有這個後如何在awk -f一切在那裏它可能是一個\或多個最後

C:\folder\file.log 
C:\folder\folder\file.log 
C:\folder\folder\folder\file.log 

我想這

file.log 

這工作,但它與打印靜$。

cat C:\folder\file.log | awk -F "\\" "{print $3}" 
cat C:\folder\folder\file.log | awk -F "\\" "{print $4} 
cat C:\folder\folder\folder\file.log | awk -F "\\" "{print $5} 

我怎麼能awk和總是最後\

+0

是很重要的是你用awk?雖然這很容易,但Windows中內置了一些工具(比如:PowerShell),它們可以將這些工作置入其中。 –

回答

2

您需要$ NF特殊變量,它給你在你的輸入字段的號碼後獲取數據。

echo C:\folder\file.log | awk -F "\\" "{print $NF}" 
+0

大概你想'回聲'而不是'貓'。 'cat'把文件通過'awk',不是文件名, –

+0

謝謝,這工作 'FOR/F 「delims =」 %%我在('回聲%BUGReportFile%^ | awk的-F 「\\」 「{print $ NF}」')設置BUGReportFile = %% i' – rcmpayne

1

如果你有awk,你是否也有「basename」?

和上文所指出的,窗戶已建成類似功能

2

使用grep:

grep -o '[^\\]*$' file