[英]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
FS
和OFS
設置為“ |” 在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.