-2

我对 linux 编程有点陌生,我已经搜索了每个人,但我没有找到任何问题的答案,我有一个文件可以调用它,config.txt/.ini;我的问题是:无论如何有一个脚本,在文件中找到一些文本,如果它找到搜索文本做一些事情;


举个例子:

  • 搜索:“我的/文本/我的文本”
  • 并添加:';' 到行的开头。
  • 甚至删除该行。
4

2 回答 2

0

您是否考虑过查看以下工具:

  • awk
  • sed
  • perl
  • python

这一切都可以很容易地做到这一点。

awk 可能是其中最纤细的(因此也是最快的):

awk '{sub(/root/, "yoda"); print}'

将用每行上root的字符串替换正则表达式的第一个匹配项。yoda

于 2013-05-29T23:13:14.200 回答
0

由于您的问题含糊不清,并且您没有定义什么样的脚本,并且因为我目前正在学习 Python,所以我花时间编写了一个 python 脚本来删除 foo.txt 中包含“mytext”的行。对的,这是可能的。还有无数其他方法可以做到这一点。

import re

# Open the file and read all the lines into an array
f = open("foo.txt", "r")
lines = []; 
for line in f:
    lines.append(line)
f.close()

# Write all the lines back that don't match our criteria for removal
f = open("foo.txt", "w")
for line in lines:
    if re.search("mytext", line) == None:
    f.write(line)
f.close()
于 2013-05-29T23:14:37.250 回答