我需要如何提取線的特定字符串一些幫助之前提取的字符。怎樣的模式
我有這樣的數千行的文件:
Eukaryota; Alveolata; Ciliophora; Intramacronucleata; Paramecium#
Eukaryota; Viridiplantae; Streptophyta; Embryophyta#
Bacteria; Cyanobacteria; Synechococcales; Acaryochloridaceae; Acaryochloris#
Eukaryota; Viridiplantae#
Bacteria; Proteobacteria; Alphaproteobacteria#
而且我想獲得第一和每行的最後一個項目。因此,輸出將是:
Eukaryota; Paramecium#
Eukaryota; Embryophyta#
Bacteria; Acaryochloris#
Eukaryota; Viridiplantae#
Bacteria; Alphaproteobacteria#
我知道如何與
awk '{print$1}' fileIn > fileOut
獲得第1列,但我不知道如何得到最後一個項目,因爲它總是在不同的列。
我嘗試添加了#,然後自顧自地XX字符#之前
grep -E -o '.{X,X}PATTERN. fileIn > fileOut
其中,輸出的樣子: LES; Sulfolobaceae; Sulfolobus# ; Thermoproteaceae; Caldivirga# les; Haloferacaceae;沃# Haloferacaceae; Haloquadratum# ales; Natrialbaceae; Natrialba#
但後來我不得不重複該過程,並刪除;直到我只剩最後一件東西。
我搜索,看看是否有任何的grep或awk的選項要做到這一點,提取1日和最後一列或提取連接到#只是字符,但我找不到任何爲我工作。
我將不勝感激如何進行的任何建議。
謝謝。
你可以使用'$ NF'到得到每一行中的最後一個字段,這是你想要的嗎? – CWLiu
感謝$ NF不正是我想要的,但它的情況下,工作我需要的只是最後一個項目。 :) – vimac