如何使用awk或任何命令删除' - '和' - '之前的字符?
XR-234|YYY|YYY|IR-567
YYYY|GT-890|YYYY|YYYY
输出:
234|YYY|YYY|567
YYYY|890|YYYY|YYYY
答案 0 :(得分:2)
awk 'BEGIN{FS=OFS="|"}{for(i=1;i<=NF;i++) gsub(/^[^-]+-/,"",$i)}1' inputfile
FS
和OFS
设置为&#34; |&#34;在BEGIN区块内。然后对于每个字段,使用gsub
函数进行替换和打印。
答案 1 :(得分:0)
使用sed
sed 's/[^|]\+-//g' inputfile
答案 2 :(得分:0)
尝试awk:
awk '{gsub(/[a-zA-Z]+-/,"")} 1' Input_file
全局将字母表替换为破折号( - )为NULL,然后在此处提及Input_file。
答案 3 :(得分:0)
使用sed:
sed 's/[^|]*-//g' fil
答案 4 :(得分:0)
删除两个字符并破折号。
awk '{gsub(/..-/,"")}1' file
234|YYY|YYY|567
YYYY|890|YYYY|YYYY
答案 5 :(得分:0)
$ awk '{gsub(/[^|-]+-/,"")}1' file
234|YYY|YYY|567
YYYY|890|YYYY|YYYY
答案 6 :(得分:0)
使用Perl脚本语言,
#!/use/bin/Perl
use warnings;
use strict;
while(<>){
s/(\w)*-//;
print;
}
执行以下脚本, perl script.pl your_test_file
这会得到您想要的输出
234|YYY|YYY|567
YYYY|890|YYYY|YYYY