BG Development


Страници: (2) [1] 2   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Скрипт или софтуер за преименуване на файлове, сравняване и преименуване
xkp
Публикувано на: 08-05-2019, 12:20
Quote Post



Име: Мартин
Група: Потребител
Ранг: Новопостъпил

Мнения: 15
Регистриран на: 28.08.11



Здравейте отново, искам да ви попитам дали знаете някакъв софтуер или скрипт който да може да чете от текстов файл и да търси в него определени стрингове като "<a href="http://url/something&id=asd1337" да взима ИД-то и да го търси в папката с файловете и ако го намери да го замества със стринга от title="Име - ?"

<a href="http://url/something&id=asd1337" title="Име - 1"></a>
<a href="http://url/something&id=fasd1338" title="Име - 2"></a>
<a href="http://url/something&id=zxc2d1339" title="Име - 3"></a>

Файлове в Папката:
asd1337
fasd1338
zxc2d1339

Скирпта или програмата да търси във файл за asd1337 и ако го има в папката да го преименува на Име - 1.


/// Ако някой знае нещо подобно и би го споделил , Благодаря на отзовалите се.

Това мнение е било редактирано от xkp на 08-05-2019, 12:29
PMEmail Poster
Top
johnfound
Публикувано на: 08-05-2019, 12:35
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 7373
Регистриран на: 27.05.04



Това със сигурност се прави с един ред в bash... Е, аз не мога да го напиша на прима-виста, но можеш да питаш на SO, или да изчакаш тук да се появи някой експерт. icon_smile.gif


--------------------
asm32 - Приложно програмиране на асемблер.
Tox: 48C0321ADDB2FE5F644BB5E3D58B0D58C35E5BCBC81D7CD333633FEDF1047914A534256478D9
PMEmail PosterUsers Website
Top
Gamma Goblin
Публикувано на: 08-05-2019, 12:59
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2257
Регистриран на: 21.02.18



 за какво ти е скрипт, напиши си програмка


--------------------
https://www.rust-lang.org/
---
Хора, които са прекалено умни, за да се занимават с политика, са наказани да бъдат управлявани от глупаци.
---
PMEmail PosterUsers Website
Top
xkp
Публикувано на: 08-05-2019, 13:46
Quote Post



Име: Мартин
Група: Потребител
Ранг: Новопостъпил

Мнения: 15
Регистриран на: 28.08.11



QUOTE (Gamma Goblin @ 08-05-2019, 12:59)
 за какво ти е скрипт, напиши си програмка

Иска ми се да можех да го направя, но за съжаление ми трябва малко помощ icon_smile.gif

На теория е просто да прочете файла x.txt да вземе стринговете от id="" и title="" да сравни дали в папката има файлове с името от стринга на id-то и ако има да замести с title.


Това мнение е било редактирано от xkp на 08-05-2019, 13:55
PMEmail Poster
Top
Антон Яначков
Публикувано на: 08-05-2019, 14:01
Quote Post



Име: Антон Яначков
Група: Потребител
Ранг: Почетен член

Мнения: 1117
Регистриран на: 27.07.16



Има такава програма, нарича се Word.

PMEmail PosterUsers Website
Top
xkp
Публикувано на: 08-05-2019, 18:10
Quote Post



Име: Мартин
Група: Потребител
Ранг: Новопостъпил

Мнения: 15
Регистриран на: 28.08.11



В крайна сметка си намерих каквото ми трябваше
Направих си един .csv файл и сложих този ps-скрипт
CODE
$csv    = Import-Csv "$env:userprofile\Desktop\x\x.csv"

# location of your files
$files = get-childitem "$env:userprofile\Desktop\x\"


foreach($item in $CSV){
   foreach($file in $files){
       if($item.name -eq $file.basename){
           rename-item $file.fullname -NewName "$($item.newname).$($file.extension)" -Verbose
       }
   }
}
PMEmail Poster
Top
SuN
Публикувано на: 08-05-2019, 18:36
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 8597
Регистриран на: 27.01.05



Ps скрипт? Пост скрипт? Мислех, че синтаксиса му е друг. Може ли да дадеш 5 реда за примерен csv файл?

Това мнение е било редактирано от SuN на 08-05-2019, 18:37
PMEmail Poster
Top
xkp
Публикувано на: 08-05-2019, 18:49
Quote Post



Име: Мартин
Група: Потребител
Ранг: Новопостъпил

Мнения: 15
Регистриран на: 28.08.11



PowerShell

.csv файл пример
CODE

name,newname
x13123, OldSchoolNewname
Stringsss, NewStringname
PMEmail Poster
Top
exwol
Публикувано на: 08-05-2019, 19:58
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 34
Регистриран на: 05.02.18



Bash скрипт най-баламско на прима виста без претенции за изчерпателност, ако съм ти разбрал условието правилно. Скрипта търси в указания файл за id="x", ако намери указания id в този файл, взема съответно title отговарящ на това id. После търси за име на файл в указаната предварително директория и ако има такъв файл го преименува с title отговарящ на id-то. В случай, че няма такова id, се извежда, че не е намерено. Същото нещо се случва и ако не се намери файл в директорията с името на id. Ако вече има съществуващ файл с името на title то той се замества с новия.

CODE
#!/bin/bash

# Задаваш id стринга, dir директорията и файла, в който да се търси

id="asd1337"
dir="$HOME/Desktop/test"
file_search="file.txt"

title=$(cat ${dir}/${file_search} | grep -w "${id}" | grep -o "title=.*" | grep -o  "\"[^/].*\"" | tr -d '"')
func=$(cat ${dir}/${file_search} | grep -w "${id}" | wc -l)

if [ ${func} -eq 0 ];
then
         echo "string $id not found"
else

exist=$(ls -a ${dir} | grep -w "${id}" | wc -l)

if [ ${exist} -eq 0 ];
then
      echo "file $id not found"
else
      mv ${dir}/${id}.txt ${dir}/${title}.txt
 fi
fi


Това мнение е било редактирано от exwol на 08-05-2019, 20:05
PM
Top
SuN
Публикувано на: 08-05-2019, 21:31
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 8597
Регистриран на: 27.01.05



Много ти е дълъг скрипта. Ето нещо, което не съм изпробвал:

CODE
cat somefile.txt | perl -n -e 'm/id\=(.+?)\"\s*title\=\"(.+?)\"/; system "mv $1 $2" if $1 and $2 and -e $1;'


Забележка: не харесва двойните кавички в името на номера и заглавието.

П.П.
Смених алчното търсене на съвпадение за номер и име на неалчно.

Това мнение е било редактирано от SuN на 08-05-2019, 21:44
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (2) [1] 2  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0