簡體   English   中英

刪除特定字符

[英]Remove specific characters

如何使用awk或任何命令刪除“-”和“-”之前的字符?

XR-234|YYY|YYY|IR-567
YYYY|GT-890|YYYY|YYYY

輸出:

234|YYY|YYY|567
YYYY|890|YYYY|YYYY
awk 'BEGIN{FS=OFS="|"}{for(i=1;i<=NF;i++) gsub(/^[^-]+-/,"",$i)}1' inputfile

FSOFS設置為“ |” 在BEGIN塊中。 然后對於每個字段,使用gsub函數進行替換和打印。

使用sed更簡單

sed 's/[^|]\+-//g' inputfile

也嘗試awk:

awk '{gsub(/[a-zA-Z]+-/,"")} 1'   Input_file

全局將字母替換為dash(-)到NULL,然后在此處提及Input_file。

使用sed

sed 's/[^|]*-//g' fil

刪除兩個字符和破折號。

awk '{gsub(/..-/,"")}1' file

234|YYY|YYY|567
YYYY|890|YYYY|YYYY
$ awk '{gsub(/[^|-]+-/,"")}1' file
234|YYY|YYY|567
YYYY|890|YYYY|YYYY

使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM