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


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.