<?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=Extract_archives</id>
	<title>Extract archives - 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=Extract_archives"/>
	<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=Extract_archives&amp;action=history"/>
	<updated>2026-04-19T08:47:41Z</updated>
	<subtitle>Šio puslapio versijų istorija projekte</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.eofnet.lt/w//index.php?title=Extract_archives&amp;diff=8828&amp;oldid=prev</id>
		<title>193.217.5.19: Naujas puslapis: Naudojimas:  ./extract_archives directory/*.rar  == Script == &lt;syntaxhighlight lang=&quot;bash&quot;&gt; #!/bin/sh # Usage ./script directory/*.rar or zip or other supported archive # Extract...</title>
		<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=Extract_archives&amp;diff=8828&amp;oldid=prev"/>
		<updated>2019-04-10T13:09:03Z</updated>

		<summary type="html">&lt;p&gt;Naujas puslapis: Naudojimas:  ./extract_archives directory/*.rar  == Script == &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; #!/bin/sh # Usage ./script directory/*.rar or zip or other supported archive # Extract...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Naujas puslapis&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Naudojimas:&lt;br /&gt;
 ./extract_archives directory/*.rar&lt;br /&gt;
&lt;br /&gt;
== Script ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Usage ./script directory/*.rar or zip or other supported archive&lt;br /&gt;
# Extract the archive $1 to a directory $2 with the program $3. If the&lt;br /&gt;
# archive contains a single top-level directory, that directory&lt;br /&gt;
# becomes $2. Otherwise $2 contains all the files at the root of the&lt;br /&gt;
# archive.&lt;br /&gt;
extract () (&lt;br /&gt;
  set -e&lt;br /&gt;
  archive=$1&lt;br /&gt;
  case &amp;quot;$archive&amp;quot; in&lt;br /&gt;
    -) :;; # read from stdin&lt;br /&gt;
    /*) :;; # already an absolute path&lt;br /&gt;
    *) archive=$PWD/$archive;; # make absolute path&lt;br /&gt;
  esac&lt;br /&gt;
  target=$2&lt;br /&gt;
  program=$3&lt;br /&gt;
  if [ -e &amp;quot;$target&amp;quot; ]; then&lt;br /&gt;
    echo &amp;gt;&amp;amp;2 &amp;quot;Target $target already exists, aborting.&amp;quot;&lt;br /&gt;
    return 3&lt;br /&gt;
  fi&lt;br /&gt;
  case &amp;quot;$target&amp;quot; in&lt;br /&gt;
    /*) parent=${target%/*};;&lt;br /&gt;
    */[!/]*) parent=$PWD/${target%/*};;&lt;br /&gt;
    *) parent=$PWD;;&lt;br /&gt;
  esac&lt;br /&gt;
  temp=$(TMPDIR=&amp;quot;$parent&amp;quot; mktemp -d)&lt;br /&gt;
  (cd &amp;quot;$temp&amp;quot; &amp;amp;&amp;amp; $program &amp;quot;$archive&amp;quot;)&lt;br /&gt;
  root=&lt;br /&gt;
  for member in &amp;quot;$temp/&amp;quot;* &amp;quot;$temp/&amp;quot;.*; do&lt;br /&gt;
    case &amp;quot;$member&amp;quot; in */.|*/..) continue;; esac&lt;br /&gt;
    if [ -n &amp;quot;$root&amp;quot; ] || ! [ -d &amp;quot;$member&amp;quot; ]; then&lt;br /&gt;
      root=$temp # There are multiple files or there is a non-directory&lt;br /&gt;
      break&lt;br /&gt;
    fi&lt;br /&gt;
    root=&amp;quot;$member&amp;quot;&lt;br /&gt;
  done&lt;br /&gt;
  if [ -z &amp;quot;$root&amp;quot; ]; then&lt;br /&gt;
    # Empty archive&lt;br /&gt;
    root=$temp&lt;br /&gt;
  fi&lt;br /&gt;
  mv -v -- &amp;quot;$root&amp;quot; &amp;quot;$target&amp;quot;&lt;br /&gt;
  if [ &amp;quot;$root&amp;quot; != &amp;quot;$temp&amp;quot; ]; then&lt;br /&gt;
    rmdir &amp;quot;$temp&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# Extract the archive $1.&lt;br /&gt;
process () {&lt;br /&gt;
  dir=${1%.*}&lt;br /&gt;
  case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    *.rar|*.RAR) program=&amp;quot;unrar x&amp;quot;;;&lt;br /&gt;
    *.tar|*.tgz|*.tbz2) program=&amp;quot;tar -xf&amp;quot;;;&lt;br /&gt;
    *.tar.gz|*.tar.bz2|*.tar.xz) program=&amp;quot;tar -xf&amp;quot;; dir=${dir%.*};;&lt;br /&gt;
    *.zip|*.ZIP) program=&amp;quot;unzip&amp;quot;;;&lt;br /&gt;
    *) echo &amp;gt;&amp;amp;2 &amp;quot;$0: $1: unsupported archive type&amp;quot;; exit 4;;&lt;br /&gt;
  esac&lt;br /&gt;
  if [ -d &amp;quot;$dir&amp;quot; ]; then&lt;br /&gt;
    echo &amp;gt;&amp;amp;2 &amp;quot;$0: $dir: directory already exists&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
  fi&lt;br /&gt;
  extract &amp;quot;$1&amp;quot; &amp;quot;$dir&amp;quot; &amp;quot;$program&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for x in &amp;quot;$@&amp;quot;; do&lt;br /&gt;
  process &amp;quot;$x&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Category:Scripts]]&lt;/div&gt;</summary>
		<author><name>193.217.5.19</name></author>
	</entry>
</feed>