【发布时间】:2016-10-15 21:41:30
【问题描述】:
我已读入一个字符串,根据分隔符将其拆分并将其存储到一个数组中。我想遍历一个文本文件并删除不包含我存储在数组中的字符串的行。假设我的结果数组是['foo', 'bar', 'baz', 'qux', 'quux', 'corge']
我的文本文件是:
foo
grault
bar
xyzzy
baz
quz
quux
我想删除行 grault, xyzzy(因为它们不在数组中)并在末尾添加 corge,这样我的结果文件将是:
foo
bar
baz
quz
quux
corge
我打算使用 for 循环遍历我的数组并使用 grep 添加文件中缺少的行,但是我应该如何删除数组中不存在但文件中存在的行?
【问题讨论】:
-
你从哪里读取字符串?如果它来自文件,您可以让
grep从该文件中读取其模式,而无需自己将其拆分为数组。这对你有用吗? -
根据您的描述,无论文件中包含什么内容,您都只是尝试打印数组(我的假设)。您应该添加更多示例或稍微解释一下要求。假设文件不包含任何匹配项,预期的输出是什么?
标签: arrays string bash compare