【发布时间】:2016-01-04 17:39:52
【问题描述】:
date;
tocompdate=$(date --date="-90 days ago" +%d%m%Y)
echo $tocompdate;
awk -v pattern="$testdate" '{print "Some matter "nr[NR--]" matter "$testdate""};' tocompare.txt >> mail2sent.txt`
在这里,我取当前日期并将其添加 90 天并将其存储在 tocompdate 中。并将tocompdate 与一个文件进行比较,其中同一行中存在相同的日期,而该行之前的其他行中存在一些其他问题。
当搜索模式匹配时,我需要打印一些文本并打印“匹配行之前的行”,然后在几个单词后再次匹配行。
例如:
文件有以下内容
a1
28112019
b2
04032018
c3
04032018
d4
27072015
e5
27072015
f6
06012030
如果我与27072015 进行比较,我希望输出如下
The d4 is on 27072015
The e5 is on 27072015
【问题讨论】:
-
这里的问题到底是什么?如何使用
pattern作为匹配的模式? -
是 ...匹配文件中的模式并在匹配字符串与匹配字符串之前打印一行
标签: bash file shell design-patterns awk