ない特定のperlなどに依存せずにMacOSの端末でこの作業を維持したいのですが、私はあなたに何をしているのかを理解しますが、これは役立つはずです。あなたはこのように一度のファイルの全体の束の1970年1月1日(エポック)からの秒に変更(またはアクセス、変更または出生時間)を取得するためにstat
を使用することができます。
stat -f "%m %SN" RAWCard/*
をサンプル出力
1511359473 RAWCard/step1.png
1511359474 RAWCard/step2.png
1512638778 RAWCard/step3.png
あなたは両方のディレクトリのために、あなたがして、共通のフィールド(時間)にラインを結合するためにjoin
を使用できることを行う場合は、次の
stat -f "%m %SN" RAWCard/* > raw
stat -f "%m %SN" ProxyCard/* > proxy
join raw proxy
サンプル出力
1511359473 RAWCard/step1.png ProxyCard/step1.png
1511359474 RAWCard/step2.png ProxyCard/step2.png
1512638778 RAWCard/step3.png ProxyCard/step3.png
それとも、あなたが一度にそれをすべて行うことができます。
join <(stat -f "%m %SN" RAWCard/*) <(stat -f "%m %SN" ProxyCard/*)
あなたはその後、タイムスタンプフィールドを削除したい場合は、あなたが行うことができます:
join -o 1.2,2.2 ...
ループ内でペアを読み取ることもできます。
join -o 1.2,2.2 ... | while read a b ; do
echo $a is friends with $b
done
同じ秒で2枚の画像が撮影されている場合や、同じ秒で撮影された画像がない場合に問題が発生することがあります。
ワーキングスクリプト -
echo "Start Renaming Files"
RAWFILES="/Volumes/RAWCard/CRM/REEL_002/*"
PROXYDIR="/Volumes/ProxyCard/DCIM/136_1205/*.MP4"
stat -f "%m %SN" /Volumes/RAWCard/CRM/REEL_002/*.CRM > raw
stat -f "%m %SN" /Volumes/ProxyCard/DCIM/136_1205/*.MP4 > proxy
join raw proxy
join -o 1.2,2.2 raw proxy | while read a b; do
echo $a is friends with $b
rawfilebasename=$(basename "$a")
rawfilename="${rawfilebasename%.*}"
echo $rawfilename
proxydirname=$(dirname "$b")
proxyfilename=$(basename "$b")
proxyextension="${proxyfilename##*.}"
echo $proxydirname/$rawfilename.$proxyextension
mv $b $proxydirname/$rawfilename.$proxyextension
done
ないあなたのQが何であるかを確認してください。コードレビューを依頼している場合は、Qの下部にある「フラグ」リンクを使用してモデレータにhttps://codereview.stackexchange.comに移動するよう依頼する必要があります。 'find'は妥当に見えます。間違いがある場合は、詳細を投稿して、人々が問題を再現できるようにしてください。がんばろう。 – shellter
* "ProxyCard" *とは何ですか?実際に何をしようとしていますか?ファイルはどのようにして新しいものでも、それよりも新しいものではないでしょうか?なぜあなたは日時が2番目の日時に一致すると思いますか?あなたが実際に試合を見つけるときに何をしたいですか?なぜ明白な理由がないのに "1"を印刷するのですか? –
ProxyCardは別のフォルダです。私は基本的に2つのフォルダがあります。私は作成日が一致する2つの異なるフォルダにファイルがありますが、ファイル名は異なります。希望は意味をなさない。私は、作成日を照合して、プロキシフォルダ内のファイルの名前を変更するスクリプトを作成しようとしています。私は質問を更新しようとします。 –