Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v changelogu.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.
Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.
Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.
Byla vydána nová verze 10.1 sady aplikací pro SSH komunikaci OpenSSH. Uživatel je nově varován, když se nepoužívá postkvantovou výměnu klíčů.
1.Foo 1025477.BarProblém je v tom, že spousta souborů nemá správný tvar, buď to co je před tečkou není číslo, nebo před tečkou není nic, nebo v názvu není vůbec tečka atd. Navíc je potřeba zachovat tu číselnou řadu u správných názvů Čili pokud bude správný název 500.foo a 600.bar, musí mít po opravě foo menší číslo než bar. Soubory ani adresáře nemají vůči sobě žádnou přednost v pořadí, rozhodující jsou čísla. První položka musí začínat číslem 1. Neví prosím někdo o něčem ? Moc děkuji za pomoc.
Pokud soubor cislo obsahuje je potreba ho zachovat.Pokud položka číslo obsahuje, není potřeba toto číslo zachovat jako takové, ale musí být v konečném přečíslování na dané pozici vůči ostatním položkám, které měli správný formát. Pokud třeba budou existovat dvě položky s číslem 100 a s číslem 101, může ve finále taková položka mít číslo 10 a druhá 11 ale ne obráceně. Pokud bude položek 1 000 a jenom tyto dvě budou mít platný název, bude mít první položka (100) číslo 1 a druhá položka (101) číslo 2. Ostatní položky se špatným formátem budou již číslovány od čísla 3 (bez seřazení).
Jakou roli hraji adresare?Žádnou, struktura se prohledávat nebude, jedná se pouze o položky v jednom adresáři (tedy jestli se ptáte na tohle).
Co udelat s priponou?Pokud existuje přípona, nebo název bude třeba 'nejaky.nazev.souboru.ci.slozky' přidat pouze na začátek číslo a tečku.
Co udelat se souborem bez pripony?Přidat pouze na začátek číslo a tečku.
Shrnutí, - NErozlišovat zda se jedná o soubor nebo složku - název '.neco' // Přidá pouze číslo před tečku - název 'neco.neco' // Přidá pouze číslo a tečku - název 'neco' // Přidá pouze číslo a tečku - název '0000089.neco' // Smazat před tečkou a vložit platné čísloPokud jsem napsal něco k nepochopení, hned doplním, Děkuji vám.
#!/usr/bin/env python
import glob
import re
import os
skip = set([".",".."])
valid_regexp = re.compile(r'^([1-9][0-9]*)\..+')
max_value = -1
to_rename = set()
for f in glob.glob("*") + glob.glob(".*"):
if f in skip:
continue
match = valid_regexp.match(f)
if match:
value = int(match.group(1))
if(value > max_value):
max_value = value
continue
to_rename.add(f)
reg = re.compile(r'^0[0-9]*(\..+)')
for f in to_rename:
max_value = max_value + 1
match = reg.match(f)
if match:
new_name = str(max_value) + match.group(1)
elif f[0] == '.':
new_name = str(max_value) + f
else:
new_name = str(max_value) + "." + f
#print f +" => " + new_name
os.rename(f,new_name)
#!/usr/bin/env python import glob import re import os skip = set([".",".."]) valid_regexp = re.compile(r'^([1-9][0-9]*)\..+') max_value = -1 to_rename = set() for f in glob.glob("*") + glob.glob(".*"): if f in skip: continue match = valid_regexp.match(f) if match: value = int(match.group(1)) if(value > max_value): max_value = value continue to_rename.add(f) reg = re.compile(r'^0[0-9]*(\..+)') for f in to_rename: max_value = max_value + 1 match = reg.match(f) if match: new_name = str(max_value) + match.group(1) elif f[0] == '.': new_name = str(max_value) + f else: new_name = str(max_value) + "." + f #print f +" => " + new_name os.rename(f,new_name)
Pokud bude položek 1 000 a jenom tyto dvě budou mít platný název, bude mít první položka (100) číslo 1 a druhá položka (101) číslo 2. Ostatní položky se špatným formátem budou již číslovány od čísla 3 (bez seřazení).Pokud je toto pravda tak v prvni rade vyhledam vsechy platne soubory a seradim je(napriklad regexpem nad celym seznamem) a precisluji od 1. Zbyle soubory nahodne ocisluji(pseudokodem):
i=1 #najdu spravne a precisluji for FILE in `find /dir -type f -regex '[0-9]+\..+' | sort`; do mv FILE $i.${$FILE##*.} i++ done #najdu spatne a precisluji for FILE in `find /dir -type f -regex '^([0-9]+\..+)'`; do mv FILE $i.${$FILE##*.} i++ doneV tom druhem kole budou chybet nejake filtry(vice tecek,spatne cislo..) ale to si dopises.. ;) ..
0000089.necoJe neplatne? Proc?
0.txt 1.txt 10.txt 100.txt 101.txt 102.txt 103.txt 104.txt 105.txt 106.txt 107.txt 108.txt 109.txt 11.txt 110.txt 111.txt 112.txt 113.txt 114.txt 115.txt 116.txt 117.txt 118.txt 119.txt 12.txt 120.txt 121.txt 122.txt 123.txt 124.txt 125.txt 126.txt 127.txt 128.txt 129.txt 13.txtKdyž bych to řešil pro sebe, bez podmínek, tak Krename tohle udělá za pár minut. Regulárním výrazem omezím čeho se bude přejmenování týkat a pak výsledek přejmenuji. Nejdříve pro objekty s číslem, pak pro ostatní a ty možná na několikrát podle toho jaké operace před tečkou jsou správné. A nezapoměl bych na úvodní nuly v těch názvech. To číslo 0000089.neco je pro mně zcela legální.
Tiskni
Sdílej: