要求:我有3个文本文件a,b和c,其中包含一些文本和csv附件的文件名。
每个文件都有我需要搜索的特定模式。如果匹配,请移动附件的文件以匹配该特定模式。
例如:
文件a有模式苹果是红色的,而Attachemnt文件名是 filename.csv 。
脚本应该寻找"苹果是红色的"如果找到模式,请将filename.csv移动到' apples is red.csv'
类似地,文件b具有模式芒果黄色和附属文件名 filename2.csv 。
脚本应该寻找"芒果是黄色的"如果找到模式,则将filename2.csv移动到'芒果是yellow.csv。
有什么想法吗?
我可以查看文件中的模式' a'但是如何从文件中提取filename.csv' a'移动它?
电子邮件报告:苹果是红色的
结果附加为CSV文件。
Content-Type:application / octet-stream;名称=" filename1.csv"
我的要求是在电子邮件报告后grep for string:
和内容描述中的filename1.csv然后重命名
filename1.csv to apples是red.csv或者更好的是apples_are_red.csv。
电子邮件报告后的字符串:不断更改每个文件。
因此.csv必须重命名为字符串之后的所有内容"电子邮件报告:"
答案 0 :(得分:1)
根据您的更新要求,这应该接近:
#!/bin/bash
for i in *.txt
do
PATTERN=`grep "Email Report" $i | cut -c 15-`
ATTACHMENT=`grep "Content-type" $i | cut -d\" -f2`
echo "Checking for pattern $PATTERN in $ATTACHMENT"
if [ ! -z `grep -l "$PATTERN" "$ATTACHMENT"` ]
then
echo mv $ATTACHMENT $PATTERN.csv
fi
done