আমি কীভাবে একটি এক্সএমটিভিটি ফাইল সেড (বা অনুরূপ সরঞ্জাম) ব্যবহার করে সম্পাদনা করব?


1

আমার কাছে এমন একটি এক্সএমএলটিভি ফাইল রয়েছে যা দেখতে এটির মতো দেখাচ্ছে:

<channel id="10125.dvb.guide" <!-- number="62" type="0x1" flags="0xf" bouquet="4097" region="4a" sid="10125" -->>
<display-name>ITV +1</display-name>

আমি এটি সম্পাদনা করতে চাই যাতে আমি মাইএসকিউএল আমদানির জন্য এটি থেকে স্বয়ংক্রিয়ভাবে তথ্য টানতে পারি।

update channel set channum="62" where callsign="ITV +1";
update channel set xmltvid="10125.dvb.guide" where callsign="ITV +1";

আমি চেষ্টা করেছি:

sed 's/<!-- number=/update channel set channum=/g'
sed 's/<channel id=/update update channel set xmltvid=/g'

তবে এটি সত্যিই আমার মাথার উপরে উড়ে যায়, কোনও ইঙ্গিত বা টিপস দুর্দান্ত হবে।

উত্তর:


0

এই স্ক্রিপ্ট চেষ্টা করুন:

#!/usr/bin/perl
use v5.14;
use warnings;

until(eof()) {
    my ($id, $chan) = <> =~ /id="([^"]*)".*number="(\d+)"/;
    my ($sign) = <> =~ />(.*)</;
    <>; # Skip </channel>

    say qq(UPDATE channel SET channum="$chan",xmltvid="$id" WHERE callsign="$sign");
}

আপনি স্ক্রিপ্ট থেকে সরাসরি ডাটাবেস সম্পাদনা করতে ডিবিআই ব্যবহার করতে পারেন।


ঠিক আছে এখানে একটু বন্দুক লাফিয়ে! এটি একটি লাইন দিয়ে সূক্ষ্ম আহরণ করে , তবে যখন এর একাধিক ( pastie.org/10178373 ) এটি কেবল প্রথমটি করে। আমি কীভাবে এটি একটি সম্পূর্ণ ফাইলের মধ্যে দিয়ে যেতে পুনরাবৃত্তি করতে পারি?
সানের 2oo 2

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