abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 17:44 | Nová verze

    Linuxová distribuce OpenMandriva byla vydána ve verzi ROME 23.03. Název ROME říká, že se jedná se o průběžně aktualizovanou (rolling) edici. Stabilní edice nese název Rock, aktuálně OpenMandriva Lx 4.3 Dysprosium.

    Ladislav Hagara | Komentářů: 0
    dnes 17:33 | Pozvánky

    Tento pátek od 14:00 proběhne v Brně na FI MUNI konference DevConf Mini. Na programu je celá řada zajímavých přednášek od testování releasů Fedory, přes super počítače nebo Big Data, až po závody autonomních aut. Konferenci bude možné sledovat i na online streamu.

    joejoe | Komentářů: 0
    dnes 15:00 | Zajímavý článek

    Minulý týden proběhla hackerská soutěž Pwn2Own Vancouver 2023. Adobe Reader, Microsoft SharePoint, Oracle VirtualBox, Tesla, Ubuntu Desktop, Windows 11, macOS, Microsoft Teams, VMWare Workstation. Vše hacknuto. Synacktiv získal 530 000 dolarů a Teslu Model 3.

    Ladislav Hagara | Komentářů: 1
    dnes 07:00 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného 3D softwaru Blender. Přehled novinek i s náhledy v oznámení o vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    dnes 06:00 | Nová verze

    Po 5 měsících vývoje od vydání verze 6.1 byla vydána nová verze 6.2 svobodného open source redakčního systému WordPress. Kódové jméno Dolphy bylo vybráno na počest amerického jazzového altsaxofonisty, flétnisty a basklarinetisty Erica Dolphyho.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | IT novinky

    Josef Průša představil (YouTube) novou 3D tiskárnu Original Prusa MK4. Cena sestavené tiskárny je 27990 Kč. Cena stavebnice je 20990 Kč.

    Ladislav Hagara | Komentářů: 4
    včera 19:00 | Nová verze

    Turris OS, operační systém pro síťová zařízení Turris postavený na OpenWrt, byl vydán v nové verzi 6.3.0. Vývojáři upozorňují, že Netmetr byl nahrazen LibreSpeedem, viz příspěvek na blogu CZ.NIC.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Bezpečnostní upozornění

    Byl vydán xorg-server 21.1.8 a xwayland 22.1.9 a 23.1.1. Řešena je zranitelnost CVE-2023-1393 využitelná k lokální eskalaci práv.

    Ladislav Hagara | Komentářů: 4
    včera 15:00 | Nová verze

    Byla vydána nová verze 10 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu.

    Ladislav Hagara | Komentářů: 0
    28.3. 22:33 | Komunita

    Ubuntu Cinnamon bude od Ubuntu 23.04 oficiální odnoží Ubuntu (návrh, schválení).

    Ladislav Hagara | Komentářů: 4
    Používáte WSL (Windows Subsystem for Linux)?
     (73%)
     (12%)
     (3%)
     (11%)
    Celkem 375 hlasů
     Komentářů: 7, poslední 28.3. 17:34
    Rozcestník


    Dotaz: bash - kopírování a přejmenování souborů

    21.1.2008 23:18 motorcb | skóre: 12
    bash - kopírování a přejmenování souborů
    Přečteno: 3469×
    Zdravim.
    Mam slozku kde je nekolik tisic souboru, ktere jsou libovolne pojmenovane.Predevsim je u nich libovolna velikost pismen a vsechny maji koncovku .txt
    Ja bych je potreboval zkopirovat do samostatne slozky2, kde budou bez koncovky .txt a jejich nazev budou tvorit pouze mala pismena. Dokazal by to nekdo?
    Ja uz se s tim peru 2 dny a nemohu to vyresit :(
    Predem diky za jakykoliv napad :)

    Odpovědi

    kozzi avatar 21.1.2008 23:22 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: bash - kopírování a přejmenování souborů
    a co krename
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    Dalibor Smolík avatar 21.1.2008 23:29 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
    Rozbalit Rozbalit vše Re: bash - kopírování a přejmenování souborů
    mmv "puvodni*" "novy#1"
    Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
    21.1.2008 23:47 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: bash - kopírování a přejmenování souborů
    man tr
    man sed
    21.1.2008 23:51 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: bash - kopírování a přejmenování souborů
    1. v MidnightCommander označiť všetky súbory

    2. ako výstupný adresár treba nastaviť /cesta/k/slozka2/\L*

    3. zdrojová maska bude *.[Tt][Xx][Tt] (musia byt povolené shell vzory)

    4. stlačiť OK :)
    21.1.2008 23:56 ajikdpoe | skóre: 23 | blog: dvh
    Rozbalit Rozbalit vše Re: bash - kopírování a přejmenování souborů
    #!/bin/bash
    ZDROJ=`pwd`
    CIEL='/home/dvh/pokus'
    mkdir $CIEL
    for i in *.txt; do
      echo "Kopirujem $i"
      cp "$ZDROJ/$i" "$CIEL/`echo $i | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`"
    done
    
    (aneb: Ked jediny nastroj co mas je kladivo, vsetko vyzera ako kliniec :) premennu CIEL si premenuj na to kam sa to ma kopirovat
    21.1.2008 23:59 ajikdpoe | skóre: 23 | blog: dvh
    Rozbalit Rozbalit vše Re: bash - kopírování a přejmenování souborů
    zabudol som odrezat koncovku .txt, opravena verzia:
    #!/bin/bash
    ZDROJ=`pwd`
    CIEL='/home/dvh/pokus'
    mkdir $CIEL
    for i in *.txt; do
      echo "Kopirujem $i"
      cp "$ZDROJ/$i" "$CIEL/`echo $i | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/' | sed 's/.txt$//'`"
    done
    
    22.1.2008 02:12 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: bash - kopírování a přejmenování souborů
    No, možná bych zkusil tohle:
    #!/bin/bash
    
    # Inicializace promennych
    AWK=/usr/bin/gawk
    
    i=0
    
    fail()
    {
       echo "SELHANI: ${*}"
       exit 1
    }
    
    get_dst()
    {
       SRC_NAME="${1}"
       DST_DIR="${2}"
       echo $* | $AWK -v src_name="${SRC_NAME}" -v dst_dir="${DST_DIR}" '
          BEGIN {
             dst_name=src_name
             sub(/\.txt$/,"",dst_name)
             sub(/.*\//,"",dst_name)
             print(dst_dir "/" tolower(dst_name))
          }'
    }
    
    # Zakladni kontrola smysluplnych parametru
    [ "${#}" -lt "2" ] && fail "Prilis malo parametru."
    [ -d "${!#}" ] || fail "\"${!#}\" neni adresarem."
    
    while [ "${i}" -lt "$((${#} - 1))" ] ; do
       ((i++))
       if [ ! -f "${!i}" ] ; then
          echo "VAROVANI: \"${!i}\" neni souborem - vynechavam."
          continue
       fi
       cp -i "${!i}" "`get_dst "${!i}" "${!#}"`"
    done
    
    Jde to vylepšit (zjednodušit, přidat kontroly... mazanou koncovku ovládat z příkazové řádky... přepsat), ale jinak komentáře:

    a) I takový malý nástroj může být príma, když ho jde krmit parametry z příkazové řádky.

    b) trocha purismu... omezme roury (a forky). I ten sed, šel zavolat najednou:
    sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;s/\.txt$//'
    c) (ne že by byl dobrý nápad je používat, ale) ten sed by si vylámal zuby na jménech souborů s diakritikou. Nehledě na to, že v tomto případě získává sed nízké hodnocení za estetický dojem. Tohle by navíc snad mělo běhat celkem na čemkoliv, kde je k dispozici bash a gawk nebo nawk (po malé úpravě). ;)
    22.1.2008 00:02 marbu | skóre: 31 | blog: hromada | Brno
    Rozbalit Rozbalit vše Re: bash - kopírování a přejmenování souborů
    třeba for i in *.txt; do cp $i adresar/`echo ${i%.txt} | tr '[:upper:]' '[:lower:]'`; done
    There is no point in being so cool in a cold world.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.