2017-03-08 12 views
-2

私は現在、FTP上にいくつかのIPカメラ画像を持っています。たとえば、カメラから192.168.1.50_01_20170308114736213_TIMING.jpgの形式で入力します。ファイルをサブディレクトリに名前を変更するBashスクリプト - ファイル名に基づいて

私はこれらのファイルの名前をカメラ名に続けてDD/MM/YYYY_HHMMで画像の日時を付けるバッチスクリプトを探しています。 おかげ

+1

を持っていますかに対応カメラ名?また、これまでに何を試しましたか? – Aserre

+1

'/'はファイル名に有効な文字ではありませんので、他のデリミタに変更する必要があります –

+0

私は実際にスクリプトをオンラインで見つけて助けてくれました - 私は本当に分かりませんが - exif情報を取得しようとしていますここにhttps://ubuntuforums.org/showthread.php?t=2328946 - exif情報がないので、ファイルを20170308のようにフォーマットしています。104742 – kiteboy

答えて

0

これは、引数としてuが

EX JPGファイルwtihディレクトリへのパスを使用して、私のスクリプトです。 ./script.sh /ホーム/ユーザー/ cam_photos

#!/bin/bash 

directory=$1 
temp_file=temp.txt 
new_file=new.txt 
filter2_out=filter2_out.txt 
filter3_out=filter3_out.txt 
name_out=out.txt 
old_names=old.txt 
new_names=new_names.txt 
command_to_do=command.txt 

function ReadFilenames() 
{ 
cd $directory 
ls -1 > $old_names 
ls -1 | sed 's/^[^_]*_//' | sed 's/^[^_]*_//' | sed 's/_TIMING//' > $temp_file 
} 

function Filter_1() 
{ 
awk -v clist='4 6 8 12' ' 
BEGIN { n = split(clist, cl,//) 
} 
{  for(i = n; i; i--) 
       $0 = substr($0, 1, cl[i]) " " substr($0, cl[i] + 1) 
     print 
}' $temp_file > $new_file 
} 

function Filter_2() 
{ 
awk '{print $3,$2,$1,$4}' $new_file > $filter2_out 
} 

function Filter_3() 
{ 
sed 's/ /_/g; s/$/.jpg/' $filter2_out > $filter3_out 
} 

function NameOutput() 
{ 
sed 's/$/.jpg/' $filter3_out > $name_out 
} 

function Make_command() 
{ 
sed 's/^/mv /' $old_names > $new_names 
sleep 1 
paste -d' ' $new_names $filter3_out > $command_to_do 
} 

function Run() 
{ 
bash $command_to_do 
} 

function Clear() 
{ 
rm $temp_file $new_file $filter2_out $filter3_out $name_out $old_names $new_names $command_to_do 
} 

ReadFilenames 
Filter_1 
Filter_2 
Filter_3 
NameOutput 
Make_command 
Run 
Clear 

ユアーズ名:

192.168.1.50_01_20170308114236213_TIMING.jpg 
192.168.1.50_01_20170308114336213_TIMING.jpg 
192.168.1.50_01_20170308114436213_TIMING.jpg 
192.168.1.50_01_20170308114536213_TIMING.jpg 
192.168.1.50_01_20170308114636213_TIMING.jpg 
192.168.1.50_01_20170308114736213_TIMING.jpg 

OUTPUT:あなたはIPを作成する方法を

08_03_2017_1142.jpg 
08_03_2017_1143.jpg 
08_03_2017_1144.jpg 
08_03_2017_1145.jpg 
08_03_2017_1146.jpg 
08_03_2017_1147.jpg 
関連する問題