我想从文件的每一行中删除一些内容,例如:-
我在文件中有以下路径: /var/lib/svn/repos/b1me/products/payone/generic/code/core/db/fs-type /var/lib/svn/repos/b1me/products/payone/generic/code/fees/db/fs-type /var/lib/svn/repos/b1me/products/payone/generic/code/merchantserver/db/fs-type
我想做一些事情来成为 /var/lib/svn/repos/b1me/products/payone/generic/code/core/ /var/lib/svn/repos/b1me/products/payone/generic/code/fees/ /var/lib/svn/repos/b1me/products/payone/generic/code/merchantserver/
答案1
sed -ie 's/db\/fs-type//g' FILENAME
or cat FILENAME | sed -e 's/db\/fs-type//g'
答案2
听起来您想要做的只是简单的替换,为此,使用像 sed 这样的工具进行简单的正则表达式匹配是实现目标的经典方法。简单搜索就会出现大量链接,但以下两个应该可以帮助您入门:
通常使用 sed 在文件中进行字符串替换: http://www.cs.hmc.edu/tech_docs/qref/sed.html
举一个更适合您情况的例子: http://www.computing.net/answers/unix/replace-a-complex-string-using-sed/5811.html
这是最常需要解决的问题之一,并且在 Linux 社区中解决方案相当普遍。