我試圖用perl編輯文件,實質上是剪切和粘貼文件內的內容。但是,似乎我錯誤地構造了正則表達式。我很感謝幫忙分揀出來。替換命令應該砍砍export PATH=$PATH
後的內容,直到但不包括# THIS IS LAST
,並粘貼之前export PATH=$PATH
Perl正則表達式:剪切和粘貼
的Perl命令的內容: perl -i -pe 's;(export PATH.*\n)(.*)(\# THIS IS LAST!\n);$2$1$3;' bashrc
當前的.bashrc:
export TERM=xterm
export PATH=$PATH
export BREW_HOME=/home/dev/.linuxbrew
export ANACONDA_HOME=/home/dev/.anaconda3
# THIS IS LAST!
期望的bashrc:
export TERM=xterm
export BREW_HOME=/home/dev/.linuxbrew
export ANACONDA_HOME=/home/dev/.anaconda3
export PATH=$PATH
# THIS IS LAST!
Re「_cut內容後導出PATH = $ PATH'_」......這是否真的意味着「後**線**'出口..」「? (我的答案是 - 它將整行與後面的內容交換) – zdim
@zdim:我的意思是從後續行開始,即'export BREW_HOME ...'本質上,我想要在**行之間切割所有行'export PATH = $ PATH'和'#THIS LINE IS LAST!'並在**'export PATH = $ PATH'之前粘貼該內容**。這有助於澄清意圖嗎? – Ari
是的,我就是這麼拿的。修正了我的答案,以解決那個不應該移動的棘手的空行:) – zdim