Tanya masalah script Bash Shell

Tempat nongkrong. Diskusi bebas di luar topik.
User avatar
Antaretsu
Posts: 5
Joined: 13 Dec 2012, 13:05
Location: Tangerang, Indonesia

Tanya masalah script Bash Shell

Postby Antaretsu » 19 Dec 2012, 07:40

Permisi kk/cc semua..
saya dpt tugas nih dari dosen
membaca setiap file dalam sebuah direktori dan
membandingkan isi masing2 dengan file di direktori lain
saya di kasih scriptnya sama dosen cuma saya ga ngerti.
ada yg bisa bantu jelasin ga??
scriptnya seperti dibawah ini:

#!/bin/bash

image_name=$1
d=$2

for f in `ls ${image_name}_bands/orig/*.txt`;
do
fn=`basename $f`;
if [[ -n `diff ${image_name}_bands/orig/$fn ${image_name}_bands/$d/$fn` ]]
then
echo $fn differs
fi
done

Mohon bimbingannya kk/cc :D :D :D :D :D :D
User avatar
nif
Posts: 2818
Joined: 31 Mar 2011, 07:48

Re: Tanya masalah script Bash Shell

Postby nif » 19 Dec 2012, 14:08

intinya kan cuma membandingkan isi tiap file .txt dari directory ${image_name}_bands/orig dengan directory ${image_name}_bands/$d pake perintah diff. Kalo berbeda (string hasil diff tidak 0), tampilkan pesan $fn differs.
perintah for...do...done dipakai agar berulang untuk tiap file.

lebih jelasnya, silahkan lihat di man diff dan man bash bagian conditional expressions :smile:
User avatar
Antaretsu
Posts: 5
Joined: 13 Dec 2012, 13:05
Location: Tangerang, Indonesia

Re: Tanya masalah script Bash Shell

Postby Antaretsu » 22 Dec 2012, 01:49

${image_name}_bands/orig/*.txt
jadi dia membaca semua file yg .txt?? dalam sebuah folder gtu??
User avatar
nif
Posts: 2818
Joined: 31 Mar 2011, 07:48

Re: Tanya masalah script Bash Shell

Postby nif » 22 Dec 2012, 08:00

ya, memproses semua file .txt yang ada di dalam folder (image_name)_bands/orig
di mana image_name ditentukan oleh user melalui input argumen 1

[quote=Antaretsu]#!/bin/bash

image_name=$1
d=$2
...