0

いずれかの行に Day を含むファイルにデータがあります。その日に基づいて、データを特定のディレクトリにコピーしたいと考えています。PHPまたはシェルスクリプトでこれを行うにはどうすればよいですか?

ファイル1.txt:

101
RJ
プリンター
月曜日

file2.txt:

101
RJ
スイッチ
水曜日

最初のデータをディレクトリ「月曜日」と別の「水曜日」にコピーしたいと思います。PHP またはシェル スクリプトで何か提案はありますか?

4

2 に答える 2

0

シェル (常に 4 行目の場合):

 for i in file*.txt; do cp $i "`sed -n 4p $i`/$i";done;
于 2012-06-16T01:35:50.493 に答える
0

ここでポイントとなるのが「その日」をどう捉えるかです。「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

その場合:

  • ファイルに 2 つ以上の「日」がある場合、最初のものが使用されます
  • ファイルに「日」がない場合、ファイルはUNKNOWNディレクトリにコピーされます
于 2012-06-16T02:22:41.693 に答える