awk子正则表达式与预期不匹配

时间:2018-12-15 17:37:53

标签: regex bash awk

我有一个字符串 @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) getContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.listview_item, null); ... TranslateAnimation transAnimation = new TranslateAnimation(-50, 0, 0, 0); transAnimation.setInterpolator(new AccelerateDecelerateInterpolator()); transAnimation.setDuration(500); convertView.startAnimation(transAnimation); return convertView; } ,并且我想使用a bunch of crap Dec 12 1:24 file/path/data.txt仅输出awk。这是我正在尝试的file/path/data.txt。我不知道为什么,但是不起作用。

awk

输出:

echo "a bunch of crap Dec 12 1:24 file/path/data.txt" | awk '{ sub(/^.*:[:digit:][:digit:] file/, ""); print $0}'

3 个答案:

答案 0 :(得分:0)

ITYM [[:digit:]],而不是[:digit:]

$ echo "a bunch of crap Dec 12 1:24 file/path/data.txt" |
    awk '{ sub(/^.*:[[:digit:]][[:digit:]] file/, ""); print $0}'
/path/data.txt

答案 1 :(得分:0)

我能够使用[0-9]使它工作。不确定为什么这样做有效,但是[:digit:]无效。

echo "a bunch of crap Dec 12 1:24 file/path/data.txt" | awk '{ sub(/^.*[0-9]:[0-9][0-9] /, ""); print $0}'

答案 2 :(得分:0)

您还可以使用InitializeComponent();,即:

grep -P -o '(file/.*)'