আমি ব্যাচ স্ক্রিপ্ট ব্যবহার করে শুধুমাত্র নির্দিষ্ট অবস্থান থেকে স্পেস অপসারণ করতে পারেন


0

আমার ইনপুট ফাইলে নীচের হিসাবে একটি এন্ট্রি আছে (input.txt):

mcolWarrant|||||||||        0||Forwarded||
mcolWarrant|||||||||        0||Forwarded||
mcolWarrant|||||||||        0||Forwarded||
mcolWarrant|AW000015|||||0A009919|388|MILTON KEYNES|     7000||

আমি শুধু আগে trailing স্পেস অপসারণ করতে চান "0" ( 0) এবং আগে "7000"( 7000)। আমি কিভাবে ব্যাচ স্ক্রিপ্টিং ব্যবহার করে করতে পারি?

উত্তর:


0

আপনার প্রশ্নটি খুবই অপ্রয়োজনীয়, তাই আমার উত্তরটি নিম্নোক্ত অনুমান করে:

  • আপনি উইন্ডোজ ব্যবহার করছেন
  • আপনার ফাইলের প্রতিটি লাইন দ্বারা সীমাবদ্ধ কলাম রয়েছে |
  • আপনি সমস্ত কলাম থেকে নেতৃস্থানীয় স্পেস অপসারণ করতে চান
  • আপনি একটি উইন্ডোজ ব্যাচ স্ক্রিপ্ট ব্যবহার করতে চান

বিশুদ্ধ ব্যাচ স্ক্রিপ্টিং ব্যবহার করে ফাইল সংশোধন করা খুব কঠিন হতে পারে। প্রায়শই সাধারন পরিস্থিতিগুলির সাথে সংঘটিত হলে ব্যর্থ হওয়া সহজ "সমাধান" থাকে। প্রায় সবসময় প্রায়-কাছাকাছি কাজ আছে, কিন্তু ফলে ব্যাচ সাইপ্রাস প্রায়ই জটিল এবং ধীর হয়ে যায়।

কিন্তু একটি আছে শক্তিশালী হাইব্রিড JScript / ব্যাচ ইউটিলিটি REPL.BAT বলা হয় যে সহজে একটি মহান অনেক টেক্সট প্রক্রিয়াকরণ সমস্যা সমাধান করতে পারেন। REPL.BAT হল খাঁটি স্ক্রিপ্ট যা কোনও উইন্ডোজ মেশিনে এক্সপি থেকে চালু হবে। এটি stdin- এ নিয়মিত এক্সপ্রেশন / প্রতিস্থাপন করে এবং স্টেডাউটে ফলাফল লিখে। যতক্ষণ আপনি নিয়মিত এক্সপ্রেশন শিখবেন ততক্ষণ এটি ব্যবহার করা খুব সহজ।

আপনার সমস্যার একটি চতুর দৃষ্টিভঙ্গি যে প্রথম কলামে নেতৃস্থানীয় স্পেসগুলি অনুসরণ করে না | বিভেদক। একটি সঠিক সমাধান এই বিশেষ ক্ষেত্রে হ্যান্ডেল করতে হবে।

নিম্নলিখিত দুটি কমান্ড আপনার কাজ সম্পাদন করবে

type input.txt | repl "(^|\|) *" "$1" >input.txt.new
move /y "input.txt.new" "input.txt" >nul

নিয়মিত অভিব্যক্তিতে একটি সহজ সংশোধন এটি প্রতিটি কলাম থেকে নেতৃস্থানীয় এবং পিছনে উভয় স্পেস বন্ধ করার অনুমতি দেবে। এই সমাধান বিশেষ ক্ষেত্রে হ্যান্ডেল করতে হবে যেখানে পিছনে স্পেস একটি পূর্ববর্তী না | শেষ কলামে delimiter।

type input.txt | repl "(^|\|) *| *($|\|)" "$1$2" >input.txt.new
move /y "input.txt.new" "input.txt" >nul
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.