Bash 如何将所有内容剪切到字母N的第一次出现
如何切割所有东西,之前是什么Bash 如何将所有内容剪切到字母N的第一次出现,bash,Bash,如何切割所有东西,之前是什么 SPA-8 N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2 SPA-8和N_NNN4_1.2.3.4.zzzzzzzz_bbb.nnn2之间有3个空格 作为输出,我希望得到: N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2 你可以这样做: $ echo "SPA-8 N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2" | awk -F"N\_NNN" '{print "N\_NNN"$2}' N_NNN4_1
SPA-8 N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2
SPA-8和N_NNN4_1.2.3.4.zzzzzzzz_bbb.nnn2之间有3个空格
作为输出,我希望得到:
N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2
你可以这样做:
$ echo "SPA-8 N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2" | awk -F"N\_NNN" '{print "N\_NNN"$2}'
N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2
你可以这样做:
$ echo "SPA-8 N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2" | awk -F"N\_NNN" '{print "N\_NNN"$2}'
N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2
你能行
awk -F"N_NNN" '{print FS$2 }'
给
awk -F"N_NNN" '{print FS$2 }' <<< "SPA-8 N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2"
# N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2
你能行
awk -F"N_NNN" '{print FS$2 }'
给
awk -F"N_NNN" '{print FS$2 }' <<< "SPA-8 N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2"
# N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2
试试这一行
sed 's/[^N]*//'
试试这一行
sed 's/[^N]*//'
下面是实现此任务的纯BASH方法:
s='SPA-8 N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2'
[[ "$s" =~ (N_NNN.*$) ]] && echo "${BASH_REMATCH[1]}"
N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2
下面是实现此任务的纯BASH方法:
s='SPA-8 N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2'
[[ "$s" =~ (N_NNN.*$) ]] && echo "${BASH_REMATCH[1]}"
N_NNN4_1.2.3.4.zzzzzzz_bbb.nnn2
它回答了标题中的问题。它回答了标题中的问题。事实上,如果你想在空间上分割,你也可以做
cut-d'-f4-啊,是的,我也在考虑包括cut;)。谢谢。事实上,如果你想在空间上分割,你也可以做cut-d'-f4-啊,是的,我也在考虑包括cut;)。谢谢。