【发布时间】:2014-08-11 03:24:01
【问题描述】:
我的文件名为 dat_cpoybook_tab1_tab2_tabnm.txt。我想从 tab1 中删除。即我的输出将是:
tab1_tab2_tabnm
请注意,每次我需要在两个'_'之后剪切到'.txt'之前
【问题讨论】:
我的文件名为 dat_cpoybook_tab1_tab2_tabnm.txt。我想从 tab1 中删除。即我的输出将是:
tab1_tab2_tabnm
请注意,每次我需要在两个'_'之后剪切到'.txt'之前
【问题讨论】:
grep -Po '([^_]+_){2}[^_]+(?=\.txt)'
kent$ echo "a_bx_c_d_e_f_g.txt"|grep -Po '([^_]+_){2}[^_]+(?=\.txt)'
e_f_g
kent$ echo "dat_cpoybook_tab1_tab2_tabnm.txt"|grep -Po '([^_]+_){2}[^_]+(?=\.txt)'
tab1_tab2_tabnm
awk -F'_|[.]txt' -v OFS="_" '$0=$(NF-3) OFS $(NF-2) OFS $(NF-1)'
kent$ echo "a_bx_c_d_e_f_g.txt"|awk -F'_|[.]txt' -v OFS="_" '$0=$(NF-3) OFS $(NF-2) OFS $(NF-1)'
e_f_g
【讨论】:
echo "dat_cpoybook_tab1_tab2_tabnm.txt"|awk -F'.' '{print $1}'|awk -F'_' '{ARR[1]=$0;}
END {
v1=match(ARR[1],"_");
s1=substr(ARR[1],v1+1);
v2=match(s1,"_");
print substr(s1,v2+1);
}'
【讨论】: