Php 根据目录中的日期动态创建文件

Php 根据目录中的日期动态创建文件,php,shell,Php,Shell,我在文件中有一些数据,其中一行包含Day。根据日期,我想将数据复制到特定的目录中。如何在PHP或Shell脚本中实现这一点 file1.txt: 101 RJ Printer Monday 101 RJ 打印机 星期一 file2.txt: 101 RJ Switch Wednesday 101 RJ 转换 星期三 我想将第一个数据复制到一个目录“星期一”和另一个目录“星期三”。在PHP或Shell脚本中有任何建议吗?Shell(如果总是第四行): 这里的要点是如何检测“一天”。 假设“day”

我在文件中有一些数据,其中一行包含Day。根据日期,我想将数据复制到特定的目录中。如何在PHP或Shell脚本中实现这一点

file1.txt:

101 RJ Printer Monday 101 RJ 打印机 星期一 file2.txt:

101 RJ Switch Wednesday 101 RJ 转换 星期三 我想将第一个数据复制到一个目录“星期一”和另一个目录“星期三”。在PHP或Shell脚本中有任何建议吗?

Shell(如果总是第四行):


这里的要点是如何检测“一天”。 假设“day”-行在字符串末尾包含“day”:

for i in file*.txt
do
  day=$(cat $i| grep day$ | head -1)
  [ -z "$day" ] && day=UNKNOWN
  mkdir -p "$day"
  cp "$1" "$day"
done
在这种情况下:

  • 当文件中还有两天或更多“天”时,将使用第一天
  • 当文件中没有“日期”时,文件将被复制到
    UNKNOWN
    目录

谢谢。。如果一天不总是在第四行呢?那么你可能需要扫描整个地段。。。构建一个天数数组,如果任何一行与任何一天匹配,则逐行读取,然后移动。它总是用英语吗?假定迈克尔·法拉第(Michael Faraday)没有出现在这些文件中:p然而,这是意料之中的。然而,我有几天的前缀像“2xMonday”或“4x周二”。在本例中,该程序创建的目录类似于2xMonday或4x周二。我不想创建任何新目录。我已经用天创建了所有目录,只想复制相应目录中的文件。我如何做到这一点?
for i in file*.txt
do
  day=$(cat $i| grep day$ | head -1)
  [ -z "$day" ] && day=UNKNOWN
  mkdir -p "$day"
  cp "$1" "$day"
done