【发布时间】:2019-05-09 11:21:57
【问题描述】:
我是 Unix 新手,我需要编写一个脚本。有人可以帮我解决我在目录中有文件列表的要求,如果文件名中的字符串模式匹配,我想合并文件吗?
AAAL_555A_ORANGE1_F190404_D190408.TXT.freshfruits_20190422-115617
AAAL_555A_ORANGE2_F190404_D190408.TXT.freshfruits_20190422-115617
AAAL_555A_ORANGE3_F190404_D190408.TXT.freshfruits_20190422-115617
AAAL_555A_ORANGE4_F190404_D190408.TXT.freshfruits_20190422-115617
AAAL_555B_ORANGE5_F190404_D190408.TXT.freshfruits_20190422-115617
AAAL_555B_Orange6_F190404_D190408.TXT.freshfruits_20180422-115617
如果文件名的第二部分='555A'且第三部分由 ORANGE 组成,则所有 Oranges/555A 内容文件将合并为一个文件名为 AAL_555a_Orange_date +"%Y%m%d".txt 的文件。
如果文件名的第二部分='555B'且第三部分由 ORANGE/555B 组成,则所有 Oranges 内容文件将合并为一个文件名为 AAL_555b_Orange_date +"%Y%m%d".txt 的文件。
如果文件名的第二部分='555A'且第三部分由 MANGO 组成,则所有 Mango 内容文件将合并为一个文件名为 AAL_555a_Mango_date +"%Y%m%d".txt 的文件。
请帮助..!
我知道以下命令将多个文件附加到一个 .但在这里我想根据文件名中存在的模式来做。
cat File1 file2 file3 >> final.txt
类似的东西
for i in *.TXT; do
while field separator='_' read -r str1 num str2 ; do
if [ "$str1" = "RTG" ]; then
fi
done
done
【问题讨论】:
-
您对哪些文件应该放在另一个文件中的描述似乎相互矛盾或包含拼写错误,请修改它们(“MANGO [...] all Oranges content文件和类似文件)。您能否描述要遵循的模式而不是给出三个示例并让读者推断出模式?
-
这是一个拼写错误,现在我已对其进行了修改。请帮助@BenjaminW。