मेरे पास that : screenshot 13:25.png
इन फ़ाइलों को खोलने के लिए विंडोज़ संघर्ष की तरह कई फाइलें हैं जिनका नाम शायद ":" है।
मैं इसे कैसे बदल सकता हूं?
मेरे पास that : screenshot 13:25.png
इन फ़ाइलों को खोलने के लिए विंडोज़ संघर्ष की तरह कई फाइलें हैं जिनका नाम शायद ":" है।
मैं इसे कैसे बदल सकता हूं?
जवाबों:
एक टर्मिनल cdमें, सही निर्देशिका में और फिर इसे चलाएं।
rename 's/\:/-/g' *.png -vn
यह नाम बदलने का पूर्वावलोकन करेगा । इसके :साथ प्रतिस्थापित करना चाहिए -।
अगर यह सही लगता है, nतो अंत से हटा दें और फिर यह वास्तविक नामकरण करेगा।
नोट : 17.04 से ऊपर के उबंटू संस्करण के साथ जहाज नहीं है rename, लेकिन यह अभी भी डिफ़ॉल्ट रिपॉजिटरी में उपलब्ध है, इसलिए sudo apt install renameइसे प्राप्त करने के लिए उपयोग करें
n) आसानी से निकाल सकते हैं।
rename 's/\:/-/g; s/%28/ /g; s/%29//g' ...
यहाँ एक शुद्ध बैश समाधान है:
for i in *:*; do
mv "$i" "${i//:/_}"
done
${var//pattern/replacement}प्रारूप की सभी घटनाओं का स्थान ले लेगा patternसाथ replacementचर में $var। बैश की स्ट्रिंग मैपुलेशन क्षमताओं के बारे में अधिक जानकारी के लिए, यहां देखें ।
यदि आप कई वर्णों के लिए ऐसा करना चाहते हैं, तो आप उन्हें केवल वर्ण वर्ग में रख सकते हैं। तो, उदाहरण के लिए, के सभी को बदलने के लिए ;, :, =, +, %, ,अंडरस्कोर से, आप कर सकता है:
$ ls
1foo:bar 2foo:bar:baz 3foo;bar 4foo=bar 5foo%bar 6foo,bar 7foo+bar
$ for i in *; do mv "$i" "${i//[:;=%,+]/_}"; done
$ ls
1foo_bar 2foo_bar_baz 3foo_bar 4foo_bar 5foo_bar 6foo_bar 7foo_bar
मूल रूप से, विचार यह है कि [ ]इसका मतलब है any of the characters listed। इसलिए, आप उन सभी पात्रों को रखकर, जिन्हें आप वर्ण वर्ग में बदलना चाहते हैं, उन सभी को एक ही बार में निपटा दिया जाता है।
आपके द्वारा पूछे गए विशिष्ट वर्णों के लिए, चीजें थोड़ी अधिक जटिल हैं, क्योंकि उनमें से कुछ को भागने की आवश्यकता है (मैं इसे अनदेखा कर रहा हूं /क्योंकि * nix इसे फ़ाइल नामों में अनुमति नहीं देता है विंडोज से अधिक ऐसा कोई भी नहीं होगा मुद्दा):
$ ls
1foo<bar 2foo>bar 3foo:bar 4foo\bar 5foo|bar 6foo*bar 7foo?bar 8foo"bar 9foo'bar
$ for i in *; do mv "$i" "${i//[<>:\\|*\'\"?]/_}"; done
$ ls
1foo_bar 2foo_bar 3foo_bar 4foo_bar 5foo_bar 6foo_bar 7foo_bar 8foo_bar 9foo_bar
ध्यान दें कि मैं बच गया \, 'और प्रत्येक के सामने "एक जोड़कर \।
यदि आप एक GUI पसंद करते हैं, तो pyrenamer स्थापित करें:
sudo apt-get install pyrenamer
फिर इसे चलाएं:
pyrenamer
इसमें पैटर्न और नाम बदलने के प्रारूपों के दर्जनों विकल्प हैं।
मुझे GUI पसंद है लेकिन एक Nautilus एक्सटेंशन के रूप में, अर्थात Nautilus क्रियाएँ अतिरिक्त :
sudo add-apt-repository ppa:nae-team/ppa
sudo apt-get update
sudo apt-get install nautilus-actions-extra
nautilus -q
( Www.webupd8.org/2011/12/nautilus-actions-extra-pack-of-useful.html देखें )
फिर जब आप नाम बदलने के लिए फ़ाइलों का चयन करते हैं और संदर्भ मेनू से नाम बदलें पर क्लिक करते हैं, तो आपको फ़ाइलों का नाम बदलने के लिए कई विकल्प पेश किए जाते हैं।
renameutilsपैकेज एक आसान बुलाया कार्यक्रम है qmvजो इंटरैक्टिव बैच नाम प्रदान करता है। आप इसे एक निर्देशिका या फ़ाइलों की सूची पर चलाते हैं, और यह एक अस्थायी पाठ फ़ाइल बनाता है जिसमें उनके फ़ाइल नाम होते हैं, और आपका पसंदीदा संपादक शुरू होता है। जब आप संपादक से बाहर निकलते हैं, तो आपके द्वारा बदले गए किसी भी फ़ाइल नाम को तदनुसार बदला जाता है। qmvपाठ संपादन समस्या में बैच का नाम बदलने की समस्या।
इस स्थिति में, आप qmv -f do *:*कॉलन वाली सभी फाइलों के नाम संपादित करने के लिए उपयोग कर सकते हैं , और फिर :%s/:/_/gVim में कमांड (या आपके द्वारा उपयोग किए जाने वाले संपादक में संबंधित खोज-और-प्रतिस्थापित करें)।
-f doविकल्प सेट पाठ फ़ाइल का स्वरूप गंतव्य फ़ाइल-नाम ही है, जो खोज एवं प्रतिस्थापन बनाता है सरल है। डिफ़ॉल्ट प्रारूप में प्रत्येक पंक्ति पर फ़ाइल नाम की दो प्रतियां हैं, और आप केवल दूसरे को संपादित करते हैं। यदि आपने फ़ाइल में लाइनें हटा दी हैं या फिर से चालू की हैं, तो यह सही काम करने की अनुमति देता है, लेकिन यह हमेशा सबसे आसान नहीं होता है। अन्य प्रारूप भी हैं।
इसके साथ qmv, आप अपनी पसंद के कमांड के माध्यम से उत्पन्न फ़ाइल को पाइप करने के लिए चुन सकते हैं, जैसे कि sed, यदि आप संवादात्मक क्षमता नहीं चाहते हैं।
और यहाँ एक है नॉटिलस स्क्रिप्ट है कि जगह (सभी?) विंडोज असंगत सभी चयनित फ़ाइल नामों में एक हाइफन (द्वारा उत्तर के आधार पर के साथ पात्रों terdon ;-)
#!/bin/bash
filesall=""
while [ $# -gt 0 ]
do
files=`echo "$1" | sed 's/ /\?/g'`
filesall="$files $filesall"
shift
done
for i in $filesall; do mv "$i" "${i//[<>:\\|*\'\"?]/-}"; done
थूनर (XFCE फ़ाइल-मैनेजर) में फ़ाइलों के थोक नामकरण के लिए एक अच्छा निर्माण है। इसमें वर्णों को हटाने / बदलने, खोज करने और बदलने, नंबरिंग फ़ाइलों और अधिक के विकल्प हैं।
थूनर स्थापित करें:
sudo apt-get install thunar
थूनर खोलें, अपनी फ़ाइलों को ब्राउज़ करें, उन्हें चुनें और 'नाम बदलें' (संदर्भ मेनू या F2) के माध्यम से चुनें
@echo off
echo.
echo. How many Characters Do You Want To Remove
echo.
echo. From The End Of The FileName ?
echo.
echo.
set /p variable=" > "
setlocal enabledelayedexpansion
for /f "delims=" %%a in (' dir /b /a-d *.mp3') do (
set oldName=%%a
Set newName=!oldName:~0,-%variable%!.mp3
Ren "!oldName!" "!newName!"
)
exit