【发布时间】:2015-05-12 20:28:03
【问题描述】:
所以我有一个内容为 abc 的文件:
Post=76.34.34
Pull=56.76.34
# In case you're not a regular user then post 76.34.36/37,
# change the value to (1.1.1,)
Number=506442
我需要使用每一行从这里创建一个 awk 命令,以便在其他地方进行比较。
所以我正在使用
awk '/Post=76.34.34/ && /Pull=56.76.34/ && /# In case you're not a regular user then post 76.34.36/37,/ && /# change the value to (1.1.1,)/ && /Number=506442/' /File/ToBe/Compared
这里的问题是因为 #.对于像#、'(如果是you're)这样的字符,一旦进行,如何处理?需要使用这个 awk 命令来比较这些行,然后在文件中进行匹配。
在这种情况下需要知道如何包含 #, '。
【问题讨论】:
-
那些测试不可能全部返回真。他们只测试一条线。你想测试连续的线吗?为什么你认为
#在这里是个问题?你能更清楚地解释你到底想要做什么吗? -
所以基本上这个文件有一定的配置,并且在某些操作之后数据有时会改变。我在 awk 语句中对这些行进行了硬编码,如果数据确实发生了变化,那么我只需将原始数据附加回这个文件。所以
awk '/Post.............../File/Path if [ $? != 0 ] truncate -s 0 /File/Path echo "Original Data" -
为什么还要检查呢?为什么不总是使用原始数据重新创建? (话虽如此,为什么它首先会发生变化?)
标签: regex bash shell awk scripting