উইন্ডোজ নোটপ্যাড এবং নোটপ্যাড ++ একই ফাইলে আলাদা আলাদাভাবে নিউলাইনগুলি দেখায়


5

আমি একটি পার্ল স্ক্রিপ্ট তৈরি করেছি যা কিছু তথ্য পায় এবং এটিকে একটি টেক্সট ফাইলে লাইন দিয়ে সন্নিবেশ করায়। আমি যখন নোটপ্যাড ++ দিয়ে সেই ফাইলটি খুলি, তখন মনে হয় এটি পাঠ্যের প্রতিটি দুটি লাইনের মধ্যে একটি ফাঁকা রেখার বিভাজন রয়েছে, উদাহরণস্বরূপ:

AAVX    Etracs Daily Short 1 Month S&P

ABCS    Guggenheim Abc High Dividend Et

ABI     Safety First Trust

তবে, আমি যদি স্ট্যান্ডার্ড উইন্ডোজ নোটপ্যাডের সাথে একই ফাইলটি খুলি তবে এটি ফাঁকা ছাড়াই প্রদর্শিত হবে:

AAVX    Etracs Daily Short 1 Month S&P
ABCS    Guggenheim Abc High Dividend Et
ABI     Safety First Trust

প্রশ্নটি: আমার কোন নোটপ্যাডের উপর নির্ভর করা উচিত এবং কেন এটি ঘটে?


স্পষ্টতই সমস্যাটি হ'ল নোটপ্যাড ++ উইন্ডোজ-সাধারণ নিউলাইনটিকে CRLF দুটি খালি লাইন হিসাবে ব্যাখ্যা করে , যেখানে উইন্ডোজ নোটপ্যাড কেবল (সঠিকভাবে) এটিকে একটি লাইন হিসাবে দেখায়। বা অনুরূপ সমস্যা। আপনি কীভাবে ডেটা তৈরি করছেন?
26:51

একটি ওয়েবসাইট থেকে ডেটা আনা হচ্ছে এবং বিষয়বস্তু একটি ফাইলে লেখা হয়। এটি পার্ল স্ক্রিপ্ট দ্বারা সম্পন্ন হয়েছে।
ইউজিন এস

আমি অনুমান করব যে কোনওভাবে নোটপ্যাড ++ ভুল নিউলাইন মোড দিয়ে সম্পাদনা করছে। এটি ঘটতে পারে যদি সিআরএলএফগুলি প্রতিটি লাইনে ব্যবহার না করা হয়। আপনি যখন জিভিমে এটি খুলবেন তখন কি হবে?
ব্যবহারকারী 606723

উত্তর:


11

EOL নিয়ন্ত্রণের অক্ষরগুলি সঠিক না হলে এটি ঘটে । উইন্ডোজ carriage return+ এর সাথে নতুন লাইনের প্রতিনিধিত্ব করে line feed

নোটপ্যাড ++ এ আপনি এই অক্ষরগুলি নির্বাচন করে পরীক্ষা করতে পারেন:

দেখুন > দেখান প্রতীক >[x] Show End of Line

Notepad ++

আপনাকে আপনার স্ক্রিপ্টটি পরিবর্তন করতে হবে যাতে আপনার ডেটা ফর্ম্যাট হয়:

CRLF


ধন্যবাদ! আমি এখন দেখতে পাচ্ছি যে প্রতিটি লাইনের শেষে একটি <সিআর> চিহ্নিতকারী থাকে যখন পরের লাইনটি খালি থাকে এবং <CR> <LF> ট্যাগ ধারণ করে। তবে আমি অবাক হয়েছি যে কোনও স্ক্রিপ্ট ফাইল লাইনে লাইন পড়ে কীভাবে সম্পাদন করবে? মানে খালি লাইন গুলো খেয়াল করবে নাকি? যদি হ্যাঁ, সমস্ত খালি লাইন মুছতে আমাকে কিছু কোড যুক্ত করতে হবে।
ইউজিন এস

1
@ ইউজিনিস আপনি স্ক্রিপ্টটি কোথায় চালাচ্ছেন এটির উপর নির্ভর করে (যেমন একটি ইউনিক্স বনাম উইন্ডোজ পরিবেশ)। একক CRচিহ্নিতকারীদের থেকে মুক্তি এবং একটি ধারাবাহিক বিন্যাসে আটকে রাখা ভাল ।
স্ল্যাক 16 '

1
শেষ লাইনটি সিআরএলএফ দ্বারাও সমাপ্ত করা উচিত, বিশেষত যদি সেই ফাইলটি অন্য কোনও স্ক্রিপ্ট দ্বারা পড়া হয়।
গ্যারিজন

@garyjohn হ্যাঁ! আমি আমার উত্তর আপডেট করব।
iglvzx

এই ইস্যুটির জন্য দ্রুত সমাধান (যাদের কাছে সামগ্রী তৈরি করার জন্য কোনও স্ক্রিপ্ট নেই) হ'ল নোটপ্যাড ++ (<শেষ> <ডিলিট> <ডাউন>) এ ম্যাক্রো তৈরি করা এবং ম্যাক্রো ব্যবহার করুন -> 'ম্যাক্রো চালান একাধিকবার 'বৈশিষ্ট্যটি' ফাইলের শেষ অবধি চালান ' এটি আমার পরিবেশে এটি স্থির করেছে।
কেসি কুবল

4

সেটিং করে

Edit > EOL Conversion

কোন প্রভাব আছে? এটি ইউনিক্সে স্যুইচ করার চেষ্টা করুন।


ধন্যবাদ, এটি কাজ করেছে। এই উত্তরে অবশ্যই আরও
উত্সব

2

আপনার নিয়মিত উইন্ডোজ ইওল ছাড়াও একটি নন-উইন্ডোজ ইওএল অক্ষর রয়েছে CrLf। নোটপ্যাড ++ সমস্ত বিভিন্ন EOL অক্ষর বোঝে এবং সেগুলি সমস্ত প্রদর্শন করে। উইন্ডোজ নোটপ্যাড স্মার্ট নয় এবং নন-উইন্ডোজ ইওএল অক্ষরগুলি এড়িয়ে যায়।

আমি পার্লকে চিনি না তবে যখন আমার সাথে এটি ঘটে তখন প্রায়শই এটি কারণ আমি যে স্ট্রিংটি প্রেরণ করছি তার শেষে উইন্ডোজ ইওএল অক্ষর রয়েছে। আপনার স্ট্রিংয়ে সর্বশেষ অক্ষরের Asc অক্ষর কোড মানটি পরীক্ষা করুন এবং যদি এটি হয় তবে এটি স্ট্রিপ করুন carriage return

ভিবিএতে উদাহরণ

If Asc(Right(sName, 1)) = 13 Then
   sName = Left(sName, Len(sName) - 1)
End If
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.