如何使用awk或任何命令刪除' - '和' - '之前的字符?刪除特定字符
XR-234|YYY|YYY|IR-567
YYYY|GT-890|YYYY|YYYY
OUTPUT:
234|YYY|YYY|567
YYYY|890|YYYY|YYYY
如何使用awk或任何命令刪除' - '和' - '之前的字符?刪除特定字符
XR-234|YYY|YYY|IR-567
YYYY|GT-890|YYYY|YYYY
OUTPUT:
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
全球代字母,直到破折號( - )爲NULL,然後在這裏提INPUT_FILE。
移除兩個字符和破折號。
awk '{gsub(/..-/,"")}1' file
234|YYY|YYY|567
YYYY|890|YYYY|YYYY
儘管此代碼可能會回答問題,但提供有關如何解決問題和/或爲何解決問題的其他上下文可以提高答案的長期價值。 – Badacadabra
$ 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
請注意'\ +'依賴於GNU sed - y你可以使用'\ {1,\}'或添加'-E'開關並使用'+'。 –