grep -P '正则表达式'
是用来提取内容的,加上-o选项则是将匹配部分的内容单独输出。
例如test.txt内的内容是
create mode 100644 "ray\350\277\201\347\247\273/Strate_export_ray/evolv_project/__pycache__/optimizer.cpython-35.pyc" create mode 100644 "ray\350\277\201\347\247\273/Strate_export_ray/evolv_project/__pycache__/sansde.cpython-35.pyc" create mode 100644 "ray\350\277\201\347\247\273/Strate_export_ray/evolv_project/cec2005_ncs.py" create mode 100644 "ray\350\277\201\347\247\273/Strate_export_ray/evolv_project/cec2005_sansde.py" create mode 100644 "ray\350\277\201\347\247\273/Strate_export_ray/evolv_project/ga_evolution1.py" create mode 100644 "ray\350\277\201\347\247\273/Strate_export_ray/evolv_project/gene_transformer.py" create mode 100644 "ray\350\277\201\347\247\273/Strate_export_ray/evolv_project/ncs.py" create mode 100644 "ray\350\277\201\347\247\273/Strate_export_ray/evolv_project/optimization_algorithm.py" create mode 100644 "ray\350\277\201\347\247\273/Strate_export_ray/evolv_project/optimizer.py" create mode 100644 "ray\350\277\201\347\247\273/Strate_export_ray/evolv_project/optproblems-1.2.zip" create mode 100644 "ray\350\277\201\347\247\273/Strate_export_ray/evolv_project/sansde.py" create mode 100644 "ray\350\277\201\347\247\273/Strate_export_ray/evolv_project/test.py"
现在要提取create model 后面的数字 10064.
这可以通过如下正则表达式:
cat test.txt | grep -P "create mode\s+[0-9]+" -o | grep -P "[0-9]+" -o
cat test.txt:是将test.txt中内容读取出来作为标准输入。
grep -P "create mode\s+[0-9]+" -o :
会将
create mode 100644
都提取出来。
grep -P "[0-9]+" -o:
会将100644都提取出来。