বাল্কের নতুন নামকরণ ফাইল


25

আমার কাছে অনেকগুলি ফাইল রয়েছে:

10.3.100.179_01_20161018_230014_5335.jpg
10.3.100.179_01_20161018_231514_0814.jpg
10.3.100.179_01_20161018_233014_5706.jpg
10.3.100.179_01_20161018_234514_0896.jpg
10.3.100.179_01_20161018_230114_5395.jpg
10.3.100.179_01_20161018_231614_1145.jpg
10.3.100.179_01_20161018_233114_6047.jpg
10.3.100.179_01_20161018_234614_0547.jpg
10.3.100.179_01_20161018_230114_5492.jpg
10.3.100.179_01_20161018_231614_1264.jpg
10.3.100.179_01_20161018_233114_6146.jpg
10.3.100.179_01_20161018_234614_0658.jpg
10.3.100.179_01_20161018_230214_5630.jpg
10.3.100.179_01_20161018_231714_7135.jpg

আমি এই ফর্ম্যাটটির সাথে নাম পরিবর্তন করতে চাই:

10.4.100.135_01_20161013131108389_TIMING.jpg
10.4.100.135_01_20161013131111390_TIMING.jpg
10.4.100.135_01_20161013131114401_TIMING.jpg
10.4.100.135_01_20161013131117431_TIMING.jpg
10.4.100.135_01_20161013131120418_TIMING.jpg
10.4.100.135_01_20161013131123461_TIMING.jpg
10.4.100.135_01_20161013131126511_TIMING.jpg

এটি _টাইমস্ট্যাম্পটি সরিয়ে এটি যুক্ত করতে হবে _TIMING



5
আপনার প্রশ্নে সামঞ্জস্যপূর্ণ উদাহরণ ব্যবহার করুন। দেখে মনে হচ্ছে আপনি প্রতিস্থাপন করতে চান 10.3.100.179সঙ্গে 10.4.100.135। যে আপনি যা চান তা অথবা আপনি শুধু সরাতে চান Is _TIMINGএবং _সময় থেকে?
টেরডন

3
তারিখের জন্য একটি iso8601 স্ট্যান্ডার্ড রয়েছে তা লোকেদের মনে করিয়ে দেওয়ার জন্য একটি ভাল সময় (এটি ফাইলের নাম এবং লগ এন্ট্রিগুলির জন্য উভয়ই কাজ করে) ^^ সুতরাং আপনার পুনরায় নামকরণটি পুনর্বিবেচনা করা উচিত: YYYY-MM-DDTh: মিমি: এসএসএমএমএম (প্রাক্তন : আপনার প্রথম ফাইলটি হয়ে উঠবে: 10.4.100.135_01_2016-10-13T13:11:08.389_TIMING.jpg(এবং "টাইমিং" তখনও মুছে ফেলা যেত এখন এটি একটি তারিখ এবং ঘন্টা (এবং মিলিসেকেন্ড) এর মতো স্পষ্ট দেখা যায়, বিশেষত যখন স্ট্যান্ডার্ডটি আরও ব্যাপক আকার ধারণ করে The টি স্ট্যান্ডার্ডের অংশ এবং আমি এটি পছন্দ করতে বেড়ে উঠেছে (এবং এটি বের করার ফলে মান s)
অলিভিয়ার ডুলাক

@ অলিভিয়ারডুলাক আমি :কোনও ফাইলের নাম ব্যবহার করার পরামর্শ দেব না । আমি বিশ্বাস করি উইন্ডোজ এটি সমর্থন করে না।
জাস্টিন

@ জাস্টিন ভালো পয়েন্ট স্ট্যান্ডার্ড ফাইল নামগুলির জন্য এটি বাদ দেওয়ার পরামর্শ দেয়। আমি ইন-ফাইল সংস্করণ দিয়েছি
অলিভিয়ার ডুলাক

উত্তর:


38

আপনার প্রিয় পাঠ্য সম্পাদক সহ ইনস্টল করুন renameutilsএবং ব্যবহার করুন qmv

qmvআপনার সম্পাদকের সমস্ত নাম লোড করা হয় এবং আপনি যখন এটি সংরক্ষণ এবং বন্ধ করেন তখন আপনার পরিবর্তনগুলি প্রকৃত ফাইলগুলিতে প্রয়োগ করে। যদি পরিবর্তনগুলি অসঙ্গত হয় (উদাহরণস্বরূপ দুটি ফাইল একই নাম পান) এটি কোনও কিছুই স্পর্শ না করেই বাতিল হয়ে যাবে। এটি বৃত্তাকার নামগুলিও সঠিকভাবে পরিচালনা করে।

আমি সাধারণত:

$ qmv -f do

যাতে এটি নামের একটি মাত্র কলাম দেখায় (কেবলমাত্র গন্তব্যস্থল)। এটি কেমন দেখাচ্ছে তা এখানে:

qmw

যদি আপনি এটিকে সাব্লাইমেক্সটেক্সট, অ্যাটম বা ভিজ্যুয়াল স্টুডিও কোডের একাধিক কার্সারের সাথে একত্রিত করেন তবে এটি বাল্ক নামকরণের জন্য একটি খুব সুন্দর এবং শক্তিশালী সরঞ্জাম তৈরি করে। উদাহরণস্বরূপ, পরমাণুর জন্য, আপনি তা করবেন EDITOR="atom -w" qmv -f do


1
উবুন্টু জিজ্ঞাসা করুন স্বাগতম! এই এত শান্ত!
нιηসнιη

এটি সাইন ইন করুন +! এটা। ;)
জে অ্যালান

2
বাহ, দুর্দান্ত সরঞ্জাম এবং দুর্দান্ত জিআইএফ অ্যানিমেশন। দুর্দান্ত প্রথম উত্তর, স্বাগতম! :)
বাইট কমান্ডার

1
ছবিটি অন্তর্ভুক্ত করার জন্য @ কাসিয়াকে ধন্যবাদ এবং ইতিবাচক মন্তব্যের জন্য সবাইকে ধন্যবাদ।
আটেইজেলো

1
@ ক্যাস্পারড হ্যাঁ, এটি সতর্ক করে দেবে যে পুনর্নামকরণ পরিকল্পনায় ত্রুটি রয়েছে এবং একটি ইন্টারেক্টিভ কনসোল খোলা হবে যেখানে আরও পদক্ষেপ নেওয়া যেতে পারে।
এটেইজেলো

27

ব্যবহার করুন rename...

rename -n 's/^([0-9]+\.[0-9]\.[0-9]+\.[0-9]+_[0-9]+_)([0-9]+)_([0-9]+)_([0-9]+)\.jpg/$1$2$3$4_TIMING\.jpg/' *

এর সাথে -nএটি কোনও পরিবর্তন না করে কী করবে তা আউটপুট দেবে:

rename(10.3.100.179_01_20161018_230014_5335.jpg, 10.3.100.179_01_201610182300145335_TIMING.jpg)
rename(10.3.100.179_01_20161018_231514_0814.jpg, 10.3.100.179_01_201610182315140814_TIMING.jpg)
rename(10.3.100.179_01_20161018_233014_5706.jpg, 10.3.100.179_01_201610182330145706_TIMING.jpg)
rename(10.3.100.179_01_20161018_234514_0896.jpg, 10.3.100.179_01_201610182345140896_TIMING.jpg)

যদি এটি ঠিক দেখাচ্ছে তবে এটি সরান -n

$ rename 's/^([0-9]+\.[0-9]\.[0-9]+\.[0-9]+_[0-9]+_)([0-9]+)_([0-9]+)_([0-9]+)\.jpg/$1$2$3$4_TIMING\.jpg/' *
$ ls
10.3.100.179_01_201610182300145335_TIMING.jpg  10.3.100.179_01_201610182330145706_TIMING.jpg
10.3.100.179_01_201610182315140814_TIMING.jpg  10.3.100.179_01_201610182345140896_TIMING.jpg

ব্যাখ্যা ...

  • s/something/something_else/ অনুসন্ধান এবং প্রতিস্থাপন
  • ^ নামের শুরু (নোঙ্গর করা)
  • [0-9] যে কোনও সংখ্যা
  • + পূর্বের চরিত্রের এক বা একাধিক
  • \.আক্ষরিক .(এটি \কোনও চরিত্রের সাথে মেলে না)
  • () এই অংশ রাখা
  • $1$2$3$3 আগের সাথে মেলে এবং রাখা জিনিসগুলির পিছনে উল্লেখগুলি ()

দ্রষ্টব্য: *কমান্ডের শেষে বর্তমান ডিরেক্টরিতে উপস্থিত সমস্ত ফাইলের সাথে মিল রয়েছে। প্রয়োজনে আরও উপযুক্ত গ্লোব ব্যবহার করুন।


2
কিছু ডিস্ট্রোজে, এই কমান্ডটি prename(পার্লের জন্য পি, কারণ প্রথম আরগটি পার্ল এক্সপ্রেশন) হিসাবে উপলভ্য
পিটার কর্ডস

12

mmv নিম্নলিখিত হিসাবে এটি করতে পারেন:

mmv '*_*_*_*_*.jpg' '#1_#2_#3#4#5_TIMING.jpg'

10.3.100.179_01_20161018_230014_5335.jpg 10.3.100.179_01_201610182300145335_TIMING.jpg

# 1, # 2, # 3, ... এখানে প্রতিটি মিলে '*' এর সাথে উল্লেখ করছে।

এটি এর সাথে আরও খাটো:

mmv '*_*_*.jpg' '#1#2#3_TIMING.jpg'

9

অন্য renameপদ্ধতি:

$ rename -n 's/(.*)_(.*)_(.*)\./$1$2$3_TIMING./' *
10.3.100.179_01_20161018_230014_5335.jpg -> 10.3.100.179_01_201610182300145335_TIMING.jpg
10.3.100.179_01_20161018_230114_5395.jpg -> 10.3.100.179_01_201610182301145395_TIMING.jpg
10.3.100.179_01_20161018_230114_5492.jpg -> 10.3.100.179_01_201610182301145492_TIMING.jpg
10.3.100.179_01_20161018_230214_5630.jpg -> 10.3.100.179_01_201610182302145630_TIMING.jpg
10.3.100.179_01_20161018_231514_0814.jpg -> 10.3.100.179_01_201610182315140814_TIMING.jpg
10.3.100.179_01_20161018_231614_1145.jpg -> 10.3.100.179_01_201610182316141145_TIMING.jpg
10.3.100.179_01_20161018_231614_1264.jpg -> 10.3.100.179_01_201610182316141264_TIMING.jpg
10.3.100.179_01_20161018_231714_7135.jpg -> 10.3.100.179_01_201610182317147135_TIMING.jpg
10.3.100.179_01_20161018_233014_5706.jpg -> 10.3.100.179_01_201610182330145706_TIMING.jpg
10.3.100.179_01_20161018_233114_6047.jpg -> 10.3.100.179_01_201610182331146047_TIMING.jpg
10.3.100.179_01_20161018_233114_6146.jpg -> 10.3.100.179_01_201610182331146146_TIMING.jpg
10.3.100.179_01_20161018_234514_0896.jpg -> 10.3.100.179_01_201610182345140896_TIMING.jpg
10.3.100.179_01_20161018_234614_0547.jpg -> 10.3.100.179_01_201610182346140547_TIMING.jpg
10.3.100.179_01_20161018_234614_0658.jpg -> 10.3.100.179_01_201610182346140658_TIMING.jpg

যদি আপনি এটি যেমন চান তেমন কাজ করে বলে মনে হয় তবে এটি সরিয়ে দিন -n


5

আপনি নিম্নলিখিত ব্যবহার করতে পারেন। প্রথমে আপনার ফাইলগুলির ব্যাকআপ নিন এবং এটি ব্যবহার করে দেখুন:

find . -name "*.jpg" -type f -print0| while read -d $'\0' file
do
    #extension="${file##*.}"
    newfilename=$(echo "${file%.*}" | sed 's/\(.*\)_\(.*\)_/\1\2/')
    mv "$file" "$newfilename""_TIMING.jpg"
done

sed 's/\(.*\)_\(.*\)_/\1\2/')_টাইমস্ট্যাম্পের অক্ষরগুলি মুছে দেয় ।

উদাহরণ স্বরূপ:

user@host$ ls -lart
total 8
drwxrwxr-x 6 user user 4096 Oct 21 10:21 ..
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_20161018_230014_5335.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_20161018_231514_0814.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_20161018_233014_5706.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_20161018_234514_0896.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_20161018_230114_5395.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_20161018_231614_1145.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_20161018_233114_6047.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_20161018_234614_0547.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_20161018_230114_5492.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_20161018_231614_1264.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_20161018_233114_6146.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_20161018_234614_0658.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_20161018_230214_5630.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_20161018_231714_7135.jpg
drwxrwxr-x 2 user user 4096 Oct 21 10:30 .

user@host$ find . -name "*.jpg" -type f -print0 | while read -d $'\0' file
> do
>  newfilename=$(echo "${file%.*}" | sed 's/\(.*\)_\(.*\)_/\1\2/')
>  mv $file $newfilename"_TIMING.jpg"
> done

10:35:20 t $ ls -lart
total 8
drwxrwxr-x 6 user user 4096 Oct 21 10:21 ..
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_201610182300145335_TIMING.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_201610182315140814_TIMING.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_201610182330145706_TIMING.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_201610182345140896_TIMING.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_201610182301145395_TIMING.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_201610182316141145_TIMING.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_201610182331146047_TIMING.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_201610182346140547_TIMING.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_201610182301145492_TIMING.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_201610182316141264_TIMING.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_201610182331146146_TIMING.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_201610182346140658_TIMING.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_201610182302145630_TIMING.jpg
-rw-rw-r-- 1 user user    0 Oct 21 10:30 10.3.100.179_01_201610182317147135_TIMING.jpg
drwxrwxr-x 2 user user 4096 Oct 21 10:35 .

1
এটিই সেরা সমাধান। অবশ্যই, জানার আত্মা বেশ কয়েকটি ফাইলের জন্য উপযুক্ত, তবে যেহেতু শেল দ্বারা গ্লোববিং করা হয়, তাই তাদের সমাধান বিপুল সংখ্যক ফাইলে ব্যর্থ হতে পারে (কমান্ডের স্ট্রিং খুব দীর্ঘ)।
রেক্সকোগিটান

@ রেেক্সকোজিটানস: আপনি যদি কোনও আধুনিক লিনাক্স সিস্টেমে (যেমন উবুন্টুর কোনও সংস্করণ) থাকেন তবে কমান্ড-লাইনের দৈর্ঘ্যের সীমা একাধিক মেগাবাইট। এবং যদি এটি কোনও সমস্যা হয় তবে আপনি find -maxdepth 1 -exec rename ... {} +বর্তমান ডিরেক্টরিটির তালিকা পুনর্নবীকরণের কমান্ড লাইনে ব্যাচ করতে পারেন । ( -name *.jpgআপনি যা চান তা যুক্ত করুন)। এটি শেল লুপের চেয়ে আরও দ্রুত সঞ্চালন করবে যা কেবল একটি নাম পরিবর্তনের সিস্টেম কলের পরিবর্তে + এক্সিকিউট sedএবং mvপ্রতিটি ফাইলের জন্য ব্যবহার করে। (আপনি sedবাশের বিল্ট-ইন রেজেক্স স্টাফ ব্যবহার করে মুক্তি পেতে পারেন , তবে কাঁটা mvএখনও ধীর-ইশ))
পিটার কর্ডেস

2

আপনি সম্ভবত শেষ করেছেন, তবে এখানে একটি (সহজ) সমস্ত bashসমাধান রয়েছে:
"সাধারণ ... বাশ সমাধান" কী কোনও অক্সিমারন?

#!/bin/bash

#loop through all files ending in .jpg
for f in *.jpg;
do

    #cut out everything to the timestamp
    firsthalf=${f%_*_*_*}

    #get from the timestamp on
    lasthalf=${f#*_*_}

    #remove (all) underscores from timestamp
    #note the 2 forward slashes...
    lasthalf=${lasthalf//_/}

    #get our extension
    ext=${lasthalf##*.}

    #now we can remove the extension
    lasthalf=${lasthalf%.*}

    #rename the file
    #change `mv` to `echo` if you want to do a trial run first...
    mv "$f" "${firsthalf}_${lasthalf}_TIMING.${ext}"

done;

পিএস: লুপের যুক্তি আপনার উদাহরণের একটি ফাইল নাম দিয়ে পরীক্ষা করা হয়েছিল। এটা পাস।


1
সম্ভবত কোনও বাশ রিজেক্স [[ $f ~= (.*)_(.*)_(.*)_(.*)\.jpg ]]; newname=${BASH_REMATCH[1]${BASH_REMATCH:2:4}TIMING.jpgবা আরও কিছু ব্যবহার করা ভাল to (সম্পূর্ণরূপে অনির্ধারিত এবং সম্ভবত ভুল, তবে সাধারণ ধারণাটি হ'ল ক্যাপচার গ্রুপগুলি BASH_REMATCH অ্যারেতে যায়))
পিটার

@ পিটারকার্ডস: এটি একটি ভাল পয়েন্ট! আমি কখনই ( bash) ক্যাপচারিং গ্রুপ ব্যবহার করি নি , এবং পুরোপুরি সত্যি বলতে, বাশ প্রথম ভাষা নয় যার সাহায্যে আমি তাদের চেষ্টা করেছিলাম। (আমি মনে করি bashএকটি কুরুচিপূর্ণ ভাষা।) তবুও, এটি একটি ভাল সমাধান এবং এটি আমাকে এত কিছু শিখিয়েছিল কুদোস।
জে অ্যালান

হ্যাঁ, খাঁটি ব্যাশে এত বেশি পাঠ্য প্রক্রিয়াকরণ করার মূল কারণ হ'ল ট্যাব-সমাপ্তির কাজগুলি দ্রুত করা উচিত। এটি "কুরুচিপূর্ণ কোড" বাক্যাংশটির পুরো নতুন অর্থ নিয়ে আসে ...
পিটার

@ পিটারকর্ডস: আমি আপনার বক্তব্যটি পেয়েছি, যদিও আমি মনে করি না যে কোডটি "কুশ্রী"। আপনি যে 2 লাইন সমাধান দিয়েছেন তা নাও হতে পারে তবে আমি যতটা উদাসীন তা পড়া শক্ত নয়; প্লাস এটির জন্য ভাল মন্তব্য করা হয়েছে ...
জে অ্যালান

আমি বাশ-সমাপ্তির কোডটি সাধারণভাবে কুৎসিত (বা কমপক্ষে পড়তে খুব কঠিন) সম্পর্কে বলছিলাম। এটি আসলে কুরুচিপূর্ণ নয়, কিছুটা মন-বাঁকানো (উদাহরণস্বরূপ একটি পরিবর্তনশীল নামটি পাস করার মাধ্যমে ব্যাশে রেফ দিয়ে অর্গগুলি পাস করা এবং printf -v "$3" ...যার নামটি ভেরিয়েবল সেট করতে কলি ব্যবহার করে the $3) পুরো কমান্ড লাইনটি পৃথক করে রেখে আবার রেখে দেওয়া একসাথে অনুসরণ / ডিবাগ করা বেশ শক্ত, কমপক্ষে এটি পরিষ্কার করার / বাগগুলি ঠিক করার চেষ্টা করার সময় আমি সেভাবে খুঁজে পেয়েছি। গিথুব
পিটার কর্ডেস

1

আপনি যদি জিইউআই ব্যবহার করতে পারতেন তবে আমি পাইরেনামারের প্রস্তাব দেব

এটি বেশিরভাগ বিতরণে উপস্থিত রয়েছে, উবুন্টুতে:

sudo apt-get install pyrenamer

এটি আপনার যা কিছু করতে পারে এবং আরও অনেক কিছু করতে পারে।

  • এটি নিদর্শনগুলি ব্যবহার করতে, পাঠ্য যোগ করতে বা দমন করতে পারে।
  • ফটোগুলি নামকরণ করা হলে এটি এক্সআইএফ ডেটাতে অ্যাক্সেস করতে পারে, যাতে আপনি তারিখ / সময় ইত্যাদির উপর ভিত্তি করে নিদর্শন তৈরি করতে পারেন ...
  • সঙ্গীত ফাইলের নাম পরিবর্তন করে কিছু মেটাডেটা ব্যবহার করতে পারেন।
  • তদুপরি, এটির একটি পূর্বরূপ রয়েছে , যা কিছু ভুলকে ফিরে যেতে অসুবিধা করতে পারে।

অবনতকারীদের ... কেন ব্যাখ্যা করবেন? জিইউআই কোন বিকল্প ছিল কিনা তা ওপি নির্দিষ্ট করে নি। আমি দেখতে পাচ্ছি বেশিরভাগ উত্তরগুলি কনসোল / স্ক্রিপ্টের পথে চলেছে, তবে অনেক ব্যবহারকারী একটি জিইউআই সমাধানটির প্রশংসা করবে। অথবা হতে পারে পাইরেনামারের কিছু ত্রুটি আছে যা আমি অবগত নই। যাই হোক না কেন, আমি ডাউনভোটদের কারণগুলি জানতে চাই।
jrirab

আমি চটজলদি ইন্টারেক্টিভ জিইউআই পদ্ধতির জন্য থুনার বাল্ক রেনামারকে পরামর্শ দিতে পারি।
টনি মার্টিন

@ টনিমার্টিন এটি প্রশ্নের অধীনে মন্তব্য করা উচিত, উত্তরটির সাথে এর কোনও যোগসূত্র নেই
সের্গি কলডিয়াজহনি

0

এখানে আপনার কাঁচা বিল্ট-ইন find + xargs+ sed+ mvঅনেলাইনার (প্রেমের অনেলাইনার্স):

find . -name "*.jpg" -print0 | sort -z | xargs -0 sh -c 'for filename; do mv "$filename" $(echo "${filename}" | sed "s/\([0-9]\{8\}\)_\([0-9]\{6\}\)_\([0-9]\{4\}\)/\1\2\3_TIMING/g"); done' sh

ব্যাখ্যা:

  • find . -name "*.jpg" | sort | xargs sh -c <command> sh : বর্তমান ডিরেক্টরিতে সমস্ত জেপিজি তালিকাভুক্ত করুন তারপরে প্রত্যেকের জন্য একটি শেল কমান্ড কার্যকর করুন (বাছাই অবশ্যই isচ্ছিক, তবে আপনি কোথাও লগইন করলে জিনিসগুলিকে কিছুটা পরিষ্কার রাখুন)

  • -print0, -z, -0: এটা বাইনারি সঙ্গে পৃথক আইটেম ভালো অভ্যাস 0যখন ফাইলের নাম tokenizing ইন-দ্য-মধ্যম সাদা স্পেস (আপনার ক্ষেত্রে যদিও) সঙ্গে সমস্যা এড়ানোর জন্য

  • mv "$filename" $(echo "${filename}" | sed "s/\([0-9]\{8\}\)_\([0-9]\{6\}\)_\([0-9]\{4\}\)/\1\2\3_TIMING/g");: (মধ্যে ব্যাকস্ল্যাশ sedএর Regex তার পাঠযোগ্যতা সাহায্য না, কিন্তু এটা হয় সাধারণ), 8 + 6 +4 ডিজিটের আন্ডারস্কোর-separeted ক্রম তাদের সংলগ্ন সংযুক্তকরণের প্লাস এই সঙ্গে প্রতিস্থাপন প্রতিটি ফাইল নামান্তর _TIMINGজিনিস ( \iহয় একটি backreference i- তম রেজেক্স গ্রুপ)।


রেফার্স: জার্গস - ম্যান সেড

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.