亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

結合兩個sed命令

結合兩個sed命令

PIPIONE 2019-09-06 11:06:03
結合兩個sed命令我有一個文件r。我想更換的話File,并MINvac.pdb在里面什么也沒有。我使用的命令是sed -i 's/File//g' /home/kanika/standard_minimizer_prosee/r和sed -i 's/MINvac.pdb//g' /home/kanika/standard_minimizer_prosee/r我想將兩個sed命令合并為一個,但我不知道如何。有人可以幫忙嗎?該文件如下所示:-6174.27    File10MINvac.pdb-514.451    File11MINvac.pdb4065.68     File12MINvac.pdb-4708.64    File13MINvac.pdb6674.54     File14MINvac.pdb8563.58     File15MINvac.pdb
查看完整描述

2 回答

?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

sed是一種腳本語言。用分號或換行符分隔命令。許多sed方言還允許您將每個命令作為單獨的-e選項參數傳遞。

sed -i 's/File//g;s/MINvac\.pdb//g' /home/kanika/standard_minimizer_prosee/r

我之前添加了一個反斜杠來正確引用文字點pdb,但在這個有限的上下文中可能并不重要。

為了完整起見,這是換行符。許多新手感到困惑,shell允許引用字符串中的文字換行符,但它可以很方便。

sed -i 's/File//g
    s/MINvac\.pdb//g' /home/kanika/standard_minimizer_prosee/r

當然,在這種有限的情況下,您還可以將所有內容組合成一個正則表達式:

sed -i 's/\(File\|MINvac\.pdb\)//g' /home/kanika/standard_minimizer_prosee/r

(有些sed方言會想要這個沒有反斜杠,和/或提供一個使用擴展正則表達式的選項,它們應該被省略.BSD sed,也就是MacOS sed,要求一個強制參數sed -i,但是它可以是空的,比如sed -i ''.



查看完整回答
反對 回復 2019-09-16
?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

使用-e標志:

sed -i -e 's/File//g' -e 's/MINvac.pdb//g' /home/kanika/standard_minimizer_prosee/r

一旦獲得的命令多于方便用-es 定義的命令,最好將命令存儲在單獨的文件中并將其包含在-f標志中。

在這種情況下,您將創建一個包含以下內容的文件:

s/File//gs/MINvac.pdb//g

我們稱該文件為“sedcommands”。然后你就像這樣使用sed:

sed -i -f sedcommands /home/kanika/standard_minimizer_prosee/r

只使用兩個命令,使用單獨的命令文件可能不值得,但如果要進行大量轉換,則非常方便。



查看完整回答
反對 回復 2019-09-16
  • 2 回答
  • 0 關注
  • 778 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號