2012-02-09 24 views
2

尋找從文件的最後一行提取數字的更好方法。 示例內容:解析UNIX上的數字文件

# Provider added by blah 
# 
security.provider.3=org.bouncycastle145.jce.provider.BouncyCastleProvider 
# 
# Provider added by blah 
# 
security.provider.4=org.bouncycastle145.jce.provider.BouncyCastleProvider 
# 
# Provider added by blah 
# 
security.provider.79=org.bouncycastle145.jce.provider.BouncyCastleProvider 

我想分析該文件的最後一行後歸還號碼: security.provider.

這是我使用的是什麼,它似乎只是罰款第一位後: security.provider.

tail -1 filename | cut -c19 

我知道我可以使用:

tail -1 filename | cut -c19,20 

,但我不知道,如果數字是一個數字或雙等

回答

0

假設你的最後一行是始終正是「security.provider .XXX =」你想XXX:

 
$ sed -n \$p file | cut -d= -f 1 | cut -d. -f 3 
+0

謝謝先生......這似乎是做這項工作! – powerhouse 2012-02-09 16:42:03

2

您可以用sed如:

tail -1 file | sed -r 's/security\.provider\.([0-9]+).*/\1/' 
1

你可以做到這一點只用sed一個襯墊:

sed -ne '$s/security\.provider\.\([0-9]\+\).*/\1/p' <file>