我有一個序列:
MALYYDHQIEAPDAAGSPSFISWHPVHPFLAVAYISTTSTGSVDIYLEQGECVPDTHVERPFRVASLCWHPTRLVLAVGWETGEVTVFNKQDKEQHTMPLTHTADITVLRWSPSGNCLLSGDRLGVLLLWRLDQRGRVQGTPLLKHEYGKHLTHCIFRLPPPGEDLVQLAKAAVSGDEKALDMFNWKKSSSGSLLKMGSHEGLLFFVSLMDGTVHYVDEKGKTTQVVSADSTIQMLFYMEKREALVVVTENLRLSLYTVPPEGKAEEVMKVKLSGKTGRRADIALIEGSLLVMAVGEAALRFWDIERGENYILSPDEKFGFEKGENMNCVCYCKVKGLLAAGTDRGRVAMWRKVPDFLGSPGAEGKDRWALQTPTELQGNITQIQWGSRKNLLAVNSVISVAILSERAMSSHFHQQVAAMQVSPSLLNVCFLSTGVAHSLRTDMHISGVFATKDAVAVWNGRQVAIFELSGAAIRSAGTFLCETPVLAMHEENVYTVESNRVQVRTWQGTVKQLLLFSETEGNPCFLDICGNFLVVGTDLAHFKSFDLSRREAKAHCSCRSLAELVPGVGGIASLRCSSSGSTISILPSKADNSPDSKICFYDVEMDTVTVFDFKTGQIDRRETLSFNEQETNKSHLFVDEGLKNYVPVNHFWDQSEPRLFVCEAVQETPRSQPQSANGQPQDGRAGPAADVLILSFFISEEHGFLLHESFPRPATSHSLLGMEVPYYYFTRKPEEADREDEVEPGCHHIPQMVSRRPLRDFVGLEDCDKATRDAMLHFSFFVTIGDMDEAFKSIKLIKSEAVWENMARMCVKTQRLDVAKVCLGNMGHARGARALREAEQEPELEARVAVLATQLGMLEDAEQLYRKCKRHDLLNKFYQAAGRWQEALQVAEHHDRVHLRSTYHRYAGHLEASADCSRALSYYEKSDTHRFEVPRMLSEDLPSLELYVNKMKDKTLWRWWAQYLESQGEMDAALHYYELARDHFSLVRIHCFQGNVQKAAQIANETGNLAASYHLARQYESQEEVGQAVHFYTRAQAFKNAIRLCKENGLDDQLMNLALLSSPEDMIEAARYYEEKGVQMDRAVMLYHKAGHFSKALELAFATQQFVALQLIAEDLDETSDPALLARCSDFFIEHSQYERAVELLLAARKYQEALQLCLGQNMSITEEMAEKMTVAKDSSDLPEESRRELLEQIADCCMRQGSYHLATKKYTQAGNKLKAMRALLKSGDTEKITFFASVSRQKEIYIMAANYLQSLDWRKEPEIMKNIIGFYTKGRALDLLAGFYDACAQVEIDEYQNYDKAHGALTEAYKCLAKAKAKSPLDQETRLAQLQSRMALVKRFIQARRTYTEDPKESIKQCELLLEEPDLDSTIRIGDVYGFLVEHYVRKEEYQTAYRFLEEMRRRLPLANMSYYVSPQAVDAVHRGLGLPLPRTVPEQVRHNSMEDARELDEEVVEEADDDPETSDPALLARCSDFFIEHSQYERAVELLLAARKYQEALQLCLGQNMSITEEMAEKMTVAKDSSDLPEESRRELLEQIADCCMRQGSYHLATKKYTQAGNKLKAMRALLKSGDTEKITFFASVSRQKEIYIMAANYLQSLDWRKEPEIMKNIIGFYTKGRALDLLAGFYDACAQVEIDEYQNYDKAHGALTEAYKCLAKAKAKSPLDQETRLAQLQSRMALVKRFIQARRTYTEDPKESIKQCELLLEEPDLDSTIRIGDVYGFLVEHYVRKEEYQTAYRFLEEMRRRLPLANMSYYVSPQAVDAVHRGLGLPLPRTVPEQVRHNSMEDARELDEEVVEEADDDPETSDPALLARCSDFFIEHSQYERAVELLLAARKYQEALQLCLGQNMSITEEMAEKMTVAKDSSDLPEESRRELLEQIADCCMRQGSYHLATKKYTQAGNKLKAMRALLKSGDTEKITFFASVSRQKEIYIMAANYLQSLDWRKEPEIMKNIIGFYTKGRALDLLAGFYDACAQVEIDEYQNYDKAHGALTEAYKCLAKAKAKSPLDQETRLAQLQSRMALVKRFIQARRTYTEDPKESIKQCELLLEEPDLDSTIRIGDVYGFLVEHYVRKEEYQTAYRFLEEMRRRLPLANMSYYVSPQAVDAVHRGLGLPLPRTVPEQVRHNSMEDARELDEEVVEEADDDP
我想用它后面的任何內容替換索引位置 383 (Q),所以期望的結果是:
MALYYDHQIEAPDAAGSPSFISWHPVHPFLAVAYISTTSTGSVDIYLEQGECVPDTHVERPFRVASLCWHPTRLVLAVGWETGEVTVFNKQDKEQHTMPLTHTADITVLRWSPSGNCLLSGDRLGVLLLWRLDQRGRVQGTPLLKHEYGKHLTHCIFRLPPPGEDLVQLAKAAVSGDEKALDMFNWKKSSSGSLLKMGSHEGLLFFVSLMDGTVHYVDEKGKTTQVVSADSTIQMLFYMEKREALVVVTENLRLSLYTVPPEGKAEEVMKVKLSGKTGRRADIALIEGSLLVMAVGEAALRFWDIERGENYILSPDEKFGFEKGENMNCVCYCKVKGLLAAGTDRGRVAMWRKVPDFLGSPGAEGKDRWALQTPTELQGNITQ
我試過了:
sed 's/"Q"//383' text.file
sed 's/Q//383' text.file
但這沒有任何作用。
從長遠來看,我需要處理其他一些職位,因此非常感謝靈活的方法。
祝一切順利
uj5u.com熱心網友回復:
這可能對你有用(GNU sed):
sed -zEi 's/(.{383}).*/\1/' file
將前 383 個字符存盤為反向參考并洗掉其余字符。
注意該-z選項將整個檔案放入記憶體中。
uj5u.com熱心網友回復:
GNU awk:
gawk '{print gensub(/(.{383}).*/,"\\1","1")}' file
uj5u.com熱心網友回復:
你可以用 cut 做到這一點:
cut -c 1-383 < text.file
uj5u.com熱心網友回復:
只是把它扔進池子里,head可以用來切斷n行后,也可以是c位元組后:
$ head -c 383 text.file
uj5u.com熱心網友回復:
如果將字串存盤在 bash 變數中,則可以使用 bash 引數擴展:
mystring=$(cat text.file)
echo "${mystring:0:383}"
uj5u.com熱心網友回復:
另外一個選項: dd
dd if=txt.file bs=383 count=1 status=none
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/336371.html
