我需要從看起來像這樣的行中找到兩個數字
>Chr14:453901-458800
我有大量的那些行與不包含“:”的行混合在一起,所以我們可以搜索冒號來找到帶有數字的行。每行都有不同的編號。
我需要找到兩個數字":","-"然后用第二個數字減去第一個數字并在螢屏上為每一行列印結果
我希望使用 awk 完成此操作
我設法做這樣的事情:
awk -e '$1 ~ /\:/ {print $0}' file.txt
但離最終結果還差得很遠
對于我上面顯示的這個例子,我的結果是:
4899
因為這是結果 458800 - 453901 = 4899
我無法自己弄清楚,希望得到一些幫助
uj5u.com熱心網友回復:
與 GNU awk. 使用:和-分隔符將行分成多列。在包含 的每一行中:,從第 3 列的內容中減去第 2 列的內容并列印結果。
awk -F '[:-]' '/:/{print $3-$2}' file
輸出:
4899
uj5u.com熱心網友回復:
使用 awk
$ awk -F: '/:/ {split($2,a,"-"); print a[2] - a[1]}' input_file
4899
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/373437.html
上一篇:表單占位符文本上的懸停效果
下一篇:Bash洗掉包含某些檔案的目錄
