我的脚本采用R#TYPE.TXT形式的文件名(#是数字,TYPE是两个或三个字符)。 我希望我的脚本给我TYPE。我该怎么做才能得到它?我猜我需要使用awk和sed。
我正在使用/ bin / sh(这是一项要求)
答案 0 :(得分:1)
我认为这就是你要找的东西。
$ echo R3cf.txt | sed "s/.[0-9]\(.*\)\..*/\1/"
cf
如果txt始终为大写,并且文件名始终以R开头,则可以执行类似的操作。
$ echo R3cf.txt | sed "s/R[0-9]\(.*\)\.TXT/\1/"
答案 1 :(得分:1)
你可以使用awk
$ echo R1CcC.TXT | awk '{sub(/.*[0-9]/,"");sub(".TXT","")}{print}'
CcC
或
$ echo R1CcC.TXT | awk '{gsub(/.*[0-9]|\.TXT$/,"");print}'
CcC
如果sed真的是你想要的
$ echo R9XXX.TXT | sed 's/R[0-9]\(.*\)\.TXT/\1/'
XXX
答案 2 :(得分:0)
你可以只使用shell(取决于bin/sh
是什么shell:
f=R9ABC.TXT
f="${f%.TXT}" # remove the extension
type="${f#R[0-9]}" # remove the first bit
echo "$type" # ==> ABC