<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="lt">
	<id>https://wiki.eofnet.lt/w//index.php?action=history&amp;feed=atom&amp;title=Duplikatu_paieska_ir_perkelimas</id>
	<title>Duplikatu paieska ir perkelimas - Versijų istorija</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eofnet.lt/w//index.php?action=history&amp;feed=atom&amp;title=Duplikatu_paieska_ir_perkelimas"/>
	<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=Duplikatu_paieska_ir_perkelimas&amp;action=history"/>
	<updated>2026-04-23T13:40:11Z</updated>
	<subtitle>Šio puslapio versijų istorija projekte</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.eofnet.lt/w//index.php?title=Duplikatu_paieska_ir_perkelimas&amp;diff=8975&amp;oldid=prev</id>
		<title>\dev\null: Naujas puslapis: Failų duplikatų radimas ir perkėlimas pagal jų sha1 file checksum.  = Naudojimas =   ./find_dups /Volumes/Data/A /Volumes/Data/A/original /Volumes/Data/A/duplicates * /Volume...</title>
		<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=Duplikatu_paieska_ir_perkelimas&amp;diff=8975&amp;oldid=prev"/>
		<updated>2019-10-22T07:29:24Z</updated>

		<summary type="html">&lt;p&gt;Naujas puslapis: Failų duplikatų radimas ir perkėlimas pagal jų sha1 file checksum.  = Naudojimas =   ./find_dups /Volumes/Data/A /Volumes/Data/A/original /Volumes/Data/A/duplicates * /Volume...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Naujas puslapis&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Failų duplikatų radimas ir perkėlimas pagal jų sha1 file checksum.&lt;br /&gt;
&lt;br /&gt;
= Naudojimas =&lt;br /&gt;
&lt;br /&gt;
 ./find_dups /Volumes/Data/A /Volumes/Data/A/original /Volumes/Data/A/duplicates&lt;br /&gt;
* /Volumes/Data/A Pirmas parametras nurodo kur yra visi failai&lt;br /&gt;
* /Volumes/Data/A/original Antras parametras kurios direktorijos neliesti viduje (pirmam parametre nurodytoje direktorijoje)&lt;br /&gt;
* /Volumes/Data/A/duplicates Trečias parametras nurodo kur sudėti duplikatus (jeigu pavadinimai vienodi, bus surašyti ant viršaus)&lt;br /&gt;
&lt;br /&gt;
= Script =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
files_dir=$1&lt;br /&gt;
except_dir=$2&lt;br /&gt;
move_dir=$3&lt;br /&gt;
&lt;br /&gt;
bannr() {&lt;br /&gt;
echo &amp;quot;Scripto paleidimo pavyzdys:&amp;quot;&lt;br /&gt;
echo &amp;quot;./find_dups /Volumes/Data/A /Volumes/Data/A/original /Volumes/Data/A/duplicates&amp;quot;&lt;br /&gt;
echo &amp;quot;nurodytu direktoriju pabaigose neturi buti / (slashu)&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if [[ -z &amp;quot;$files_dir&amp;quot; ]]; then&lt;br /&gt;
    echo &amp;quot;klaida: nenurodyta failu direktorija&amp;quot;&lt;br /&gt;
    bannr&lt;br /&gt;
    exit;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [[ -z &amp;quot;$except_dir&amp;quot; ]]; then&lt;br /&gt;
   echo &amp;quot;klaida: nenurodyta kurios direktorijos neliesti&amp;quot;&lt;br /&gt;
   bannr&lt;br /&gt;
   exit;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [[ -z &amp;quot;$move_dir&amp;quot; ]]; then&lt;br /&gt;
   echo &amp;quot;klaida: nenurodyta i kuria direktorija duplikatus perkelti&amp;quot;&lt;br /&gt;
   exit;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ ! -d &amp;quot;$move_dir&amp;quot; ]; then&lt;br /&gt;
mkdir $move_dir&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
find $files_dir -type f -exec openssl sha1 \{\} \; &amp;gt; /tmp/list.txt&lt;br /&gt;
&lt;br /&gt;
count=-1&lt;br /&gt;
total=0&lt;br /&gt;
for l in `cat /tmp/list.txt | sed 's/SHA1(\(.*\))\= \(.*\)$/\2 \1/' | awk '{print $1}' | sort | uniq -c | sort -nr`&lt;br /&gt;
do&lt;br /&gt;
    if [[ $count == -1 ]]&lt;br /&gt;
    then&lt;br /&gt;
        count=$l&lt;br /&gt;
    else &lt;br /&gt;
        hash=$l&lt;br /&gt;
        if [[ $count == 1 ]]&lt;br /&gt;
        then&lt;br /&gt;
            break&lt;br /&gt;
        fi&lt;br /&gt;
        for f in `grep $hash /tmp/list.txt | sed 's/SHA1(\(.*\))\= \(.*\)$/\2 \1/' | awk '{print $2}'`&lt;br /&gt;
        do&lt;br /&gt;
            if [[ $count &amp;gt; 1 ]]&lt;br /&gt;
            then&lt;br /&gt;
                if [[ $f == *&amp;quot;$except_dir&amp;quot;* ]]; then&lt;br /&gt;
                  echo &amp;quot;duplikatas $f randasi direktorijoje kuri nurodyta kaip nelieciama&amp;quot;&lt;br /&gt;
                else&lt;br /&gt;
                  echo &amp;quot;keliam: $f i $move_dir&amp;quot;&lt;br /&gt;
                  mv -f $f $move_dir/&lt;br /&gt;
                fi&lt;br /&gt;
                count=$((count-1))&lt;br /&gt;
            fi&lt;br /&gt;
        done&lt;br /&gt;
        total=`expr $total + $count`&lt;br /&gt;
        count=-1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;/div&gt;</summary>
		<author><name>\dev\null</name></author>
	</entry>
</feed>