你可以帮我解决问题,从输入中获取数字吗?
我输入的内容如下:
Good [AA0060] [LIB1: 61] No 02/11/15 08:38:46
我想在LIB1之后得到号码:
61
问题是我也可以像这样输入:
Good [AA0060] AA0060 [LIB1: 61] No 02/11/15 08:38:46
更新:LIB1应该是可变的。我希望它更有活力。
答案 0 :(得分:1)
您可以尝试此awk
命令
awk -FLIB1: '{print $2--}' FileName
或
awk -FLIB1: '{print $2+0}' FileName
示例:
echo "Good [AA0060] AA0060 [LIB1: 61] No 02/11/15 08:38:46" | awk -FLIB1: '{print $2--}'
输出
61
答案 1 :(得分:0)
试试这个sed
命令。
sed 's/.*\[LIB1: \{0,\}\(.*\)\].*/\1/' file_name
使用变量
考虑一下,
match="LIB1"
sed 's/.*\['$match': \{0,\}\(.*\)\].*/\1/' file_name
答案 2 :(得分:0)
使用此perl
命令:
perl -lne 'print $1 if(/LIB1:\s+(\d+)\]/)' file