簡體   English   中英

使用awk排除字符

[英]Exclude characters using awk

我正在嘗試找到一種方法在排除ti時排除文件中的數字,但我只想排除打印$ 1上的數字,並且我想保留單詞前面的數字。 我有一些我認為可能會起作用的東西,但並沒有完全滿足我的需求。 我還展示了一個文件外觀示例,該文件由管道分隔。

cat files  | awk -F '|' ' {print $1 "\t" $2}' |sed 's/0123456789//g'

輸入:

b1ark45 | dog23 | brown
m2eow66| cat24 |yellow
h3iss67 | snake57 | green

輸出量

 b1ark dog23    
 m2eow cat24    
 h3iss nake57

嘗試這個:

awk -F'|' -v OFS='|' '{gsub(/[0-9]/,"",$1)}7'  file

您的示例的輸出為:

bark | dog23 | brown    
meow| cat24 |yellow    
hiss | snake57 | green

編輯

這將輸出col1(沒有結尾數字和空格)和col2,以<tab>分隔

kent$  echo "b1ark45 | dog23 | brown
m2eow66| cat24 |yellow
h3iss67 | snake57 | green"|awk -F'|' -v OFS='\t' '{gsub(/[0-9]*\s*$/,"",$1);print $1,$2}'
b1ark    dog23 
m2eow    cat24 
h3iss    snake57

這可能對您有用(GNU sed):

sed -r 's/[0-9]*\s*\|\s*(\S*).*/ \1/' file

暫無
暫無

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

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