iT邦幫忙

0

linux中使用awk,sed,grep修改檔案

  • 分享至 

  • xImage

大家好
我需要修改一個vcf檔案的內容
檔案中的格式如下圖
https://ithelp.ithome.com.tw/upload/images/20230731/201472323ZV9Xopiqe.png
以這張圖中當例子,有綠框和籃框圈起來的兩個欄位
我手上有一批編號,需要找到綠框欄位有這些編號的那幾列,然後再修改籃框欄位為"0/1"

由於整個vcf檔很大,可能數十萬行,所以無法肉眼手動修改
因為有點趕,來不及慢慢學好awk、sed,有人可以提示我怎麼處理比較正確嗎?

謝謝

建議你 複製兩行 資料 到 空的檔案上 ,之後寫個SH 慢慢抓欄位,這是最佳解,抓到欄位後修改
tsungmin iT邦新手 4 級 ‧ 2023-07-31 13:37:08 檢舉
好的,感謝回覆
你講的 sed , awk 真的要很懂得人才會, 是否可以直接用 vi(vim), 然後用 last line command mode 去做修改? 如
:1,$s/chr1/abcd <- 改成想要的
可是你的 pos 跟第三項並沒有規則性, 這就不知怎麼改了...
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
海綿寶寶
iT邦大神 1 級 ‧ 2023-07-31 09:57:13

Google到這篇可以拿去改改看
在沒有完整解答之前
算是蠻接近的

tsungmin iT邦新手 4 級 ‧ 2023-07-31 13:37:34 檢舉

感謝,我來學習一下

0
補覺鳴詩
iT邦高手 1 級 ‧ 2023-07-31 19:36:19

不保證對

cat <filename> | grep chr1 | sed s'/[0-1]\/[0-1]/0\/1/'g >> new_file

cat new_file | grep chr1 | sed s'/[0-1]|[0-1]/0\/1/'g >> new_file_1

我要發表回答

立即登入回答