根据内容中的日期动态创建文件


Create files on fly based on the Day in the contents

我在文件中有一些数据,其中一行包含Day。根据日期,我想将数据复制到特定目录中。如何在PHP或Shell脚本中执行此操作?

文件1.txt:

101RJ打印机星期一

文件2.txt:

101RJ开关星期三

我想将第一个数据复制到目录"星期一"和另一个"星期三"目录中。在PHP或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目录中

外壳(如果总是第 4 行):

 for i in file*.txt; do cp $i "`sed -n 4p $i`/$i";done;