Linux指挥线魔术-裁决和取代

2008年12月24日 Sukrit Dhandhania

Linux

当你正钻研Linux指挥线和你表达得很清楚的时候,一大文件或者一许多的文件在其中你,需要用裁决关于每一文本的事例和粘贴另一个代替某些文本的能是一点时间耗尽生命.好,不再担心.Linux有仅仅你的解决方案.这里’s一种找出在一或更多更多中和取代一串文本的方式自动排成一行.

为了这我们将使用的练习一件Linux指挥线工具被被称作“sed的” ”sed”是一件非常强大和有多种用途工具,和很多能被写作关于它的才能的.我们正使用一”这里“sed的非常有限方面.我将肯定建议”如果你发现这它的方面有趣的,你沿着在“sed上不少阅读.

我们将使用下列的句法找出在一文件中和取代一串文本:

#sed-i’s/[[orginal_text][/new_text]’filename.txt

假定你有一文件被”随着你的在它中数据库服务器的IP地址的许多事例被称作“database.txt的.你刚刚转换到一新数据库服务器和需要用新服务器更新它’s IP地址.老IP地址是192.168.1.16和新的那个等于192.168.1.22.这里’你怎样着手进行它的s:

#猫database.txt
LOCAL_DATABASE=192.168.1.16
LOCAL_DIR=/home/calvin/
PROD_DB=192.168.1.16

# sed-i’s/192.168.1.16/192.168.1.22/g’ database.txt
#猫database.txt
LOCAL_DATABASE=192.168.1.22
LOCAL_DIR=/home/calvin/
PROD_DB=192.168.1.22

现在打开”你的老的那个一的文件“database.inc和检查,看是否新IP地址已经发生.这里’s上述指挥的散伙.首先你呼吁“sed”指挥.然后你它通过”有效的参数“-s“进入地方的”现在我们使用一点儿通常称作“regex” for正常表达的下一个咬.“s”在中举出绳子为“代替者是站立””在末端“g竖立“全球性”在他们之间他们结果是一“全球性代用的你安置的在其间他们串文本.

你能”在末端随意地跳过“g.这个意味着代用将不是全球性哪一个向仅第一绳子的事例的在一线中代用几乎翻译.那样如果你随着文本的多重事例有一线,你是试图的这里取代’s什么将发生

#猫database.txt
LOCAL_DATABASE=192.168.1.16
LOCAL_DIR=/home/calvin/
PROD_DB=192.168.1.16,192.168.1.16

# sed-i’s/192.168.1.16/192.168.1.22/’ database.txt
#猫database.txt
LOCAL_DATABASE=192.168.1.22
LOCAL_DIR=/home/calvin/
PROD_DB=192.168.1.22,192.168.1.16

来了真正魔术.现在,假定你想要改变一串不仅仅在一一列纵队文件中但是在你是进入的整个目录中文本.有许多文本文件在其中你,需要发现”用“香槟酒和把“葡萄酒放回的”.

#发现.-maxdepth1名字“*.txt”类型f经理sed-i’s/wine/champagne/’

我们使用发现的命令得到一所有的在当前目录中文本文件文件的清单.那个’s“发现.-maxdepth1名字“*.txt”类型f”部分.“发现. maxdepth1″吩咐电脑在当前目录中看和变为不是与当前目录相比更深.‘-name  ”*.txt”‘ 部分“.txt的延长地告诉仅清单文件发现”然后“类型f”部分明确说明“发现”应该仅挑选准确相配文件.最后“经理”部分显示“裁决”执行跟随的,在这个情况中,“sed”取代文本--“sed-i’’s/wine/champagne/的命令是其的命令”.

I realize that上述指挥似乎是复杂.但是,一旦你使用它,有些你将意识到它大概是值得记下它和使用它.现在请尝试改变一串在目录的多重水平中文本.

相关杆:
  • 充满Nohup在幕后过程
  • 怎样从Linux指挥线下载文件
  • 怎样对你的Linux机器给予日期
  • 怎样建立在阿帕奇中事实上主人
  • 怎样发送从Linux指挥线电子邮件
  • 使像这一个一样的不做作帮助个别辅导进入你的电子邮件inbox每天免费!仅仅输入你的下面电子邮件地址:

     

    在任何时刻你能总是选择不参加这电子邮件订阅.

    书签和份

    { 1评论说…阅读下面它或者添加一 }

    在11:36 pm 1 marco12.29.08

    >那时你它被承认为hich代表“in地方ofbr的参数/>我认为它一定是p>

    留下一意见

    你能使用这些HTML标签和属性:<a href="" title=""><abbr title=""><acronym title=""><b><blockquote cite=""><cite><code><del datetime=""><em><i><q cite=""><strike> <strong>