ব্যবহার করে দেখুন file
তারপর file -k
তারপরdos2unix -ih
file
সাধারণত যথেষ্ট হবে। তবে কঠিন মামলার জন্য চেষ্টা করুন file -k
বাdosunix -ih
।
নিচে বিস্তারিত.
চেষ্টা file -k
সংক্ষিপ্ত সংস্করণ: file -k somefile.txt
আপনাকে বলবে।
- এটি আউটপুট হবে
with CRLF line endings
ডস / উইন্ডোজ লাইন শেষের জন্য ।
- এটি আউটপুট হবে
with LF line endings
ম্যাক লাইন শেষের জন্য ।
- এবং লিনাক্স / ইউনিক্স লাইন "সিআর" এর জন্য এটি কেবল আউটপুট হবে
text
। (সুতরাং যদি এটি স্পষ্টভাবে কোনও ধরণের উল্লেখ না করে তবে এর সুস্পষ্ট line endings
অর্থ: "সিআর লাইন সমাপ্তি" ))
দীর্ঘ সংস্করণ নীচে দেখুন।
বাস্তব বিশ্বের উদাহরণ: শংসাপত্রের এনকোডিং
আমাকে মাঝে মাঝে পিইএম শংসাপত্রের ফাইলগুলির জন্য এটি পরীক্ষা করতে হবে।
নিয়মিত ঝামেলা file
হ'ল: কখনও কখনও এটি খুব স্মার্ট / খুব নির্দিষ্ট হওয়ার চেষ্টা করে।
আসুন একটু কুইজ চেষ্টা করি: আমি কিছু ফাইল পেয়েছি। এবং এই ফাইলগুলির মধ্যে একটির বিভিন্ন লাইন শেষ রয়েছে। কোনটি?
(যাইহোক, এটি আমার সাধারণ "শংসাপত্রের কাজ" ডিরেক্টরিগুলির মধ্যে একটির মতো লাগে))
আসুন নিয়মিত চেষ্টা করুন file
:
$ file -- *
0.example.end.cer: PEM certificate
0.example.end.key: PEM RSA private key
1.example.int.cer: PEM certificate
2.example.root.cer: PEM certificate
example.opensslconfig.ini: ASCII text
example.req: PEM certificate request
হাহ। এটি আমাকে লাইন শেষ বলে দিচ্ছে না। এবং আমি ইতিমধ্যে জানতাম যে সেগুলি ফাইল ছিল। এটা বলার জন্য আমার "ফাইল" দরকার ছিল না।
আপনি আর কি চেষ্টা করতে পারেন?
আপনি এই মত সুইচ dos2unix
দিয়ে চেষ্টা --info
করতে পারেন:
$ dos2unix --info -- *
37 0 0 no_bom text 0.example.end.cer
0 27 0 no_bom text 0.example.end.key
0 28 0 no_bom text 1.example.int.cer
0 25 0 no_bom text 2.example.root.cer
0 35 0 no_bom text example.opensslconfig.ini
0 19 0 no_bom text example.req
সুতরাং এটি আপনাকে জানায় যে: হ্যাঁ, "0.example.end.cer" অবশ্যই বিজোড় মানুষ হতে হবে। কিন্তু লাইন শেষ কি ধরণের আছে? না আপনি হৃদয় দ্বারা dos2unix আউটপুট ফরম্যাট জানেন? (আমি না।)
তবে ভাগ্যক্রমে এখানে --keep-going
(বা -k
সংক্ষেপে) বিকল্প রয়েছে file
:
$ file --keep-going -- *
0.example.end.cer: PEM certificate\012- , ASCII text, with CRLF line terminators\012- data
0.example.end.key: PEM RSA private key\012- , ASCII text\012- data
1.example.int.cer: PEM certificate\012- , ASCII text\012- data
2.example.root.cer: PEM certificate\012- , ASCII text\012- data
example.opensslconfig.ini: ASCII text\012- data
example.req: PEM certificate request\012- , ASCII text\012- data
অসাধারণ! এখন আমরা জানি যে আমাদের বিজোড় ফাইলটির ডস ( CRLF
) লাইন শেষ হয়। (এবং অন্যান্য ফাইলগুলির ইউনিক্স ( LF
) লাইন শেষ রয়েছে This এটি এই আউটপুটটিতে স্পষ্ট নয় imp এটি অন্তর্নিহিত It's file
"নিয়মিত" পাঠ্য ফাইলটি কেবল প্রত্যাশা করে)
(আপনি যদি আমার স্মৃতিচারণ ভাগ করতে চান: "এল" "লিনাক্স" এবং "এলএফ" এর জন্য))
এখন আসুন অপরাধীকে রূপান্তর করুন এবং আবার চেষ্টা করুন:
$ dos2unix -- 0.example.end.cer
$ file --keep-going -- *
0.example.end.cer: PEM certificate\012- , ASCII text\012- data
0.example.end.key: PEM RSA private key\012- , ASCII text\012- data
1.example.int.cer: PEM certificate\012- , ASCII text\012- data
2.example.root.cer: PEM certificate\012- , ASCII text\012- data
example.opensslconfig.ini: ASCII text\012- data
example.req: PEM certificate request\012- , ASCII text\012- data
ভাল. এখন সমস্ত শংসাপত্রের ইউনিক্স লাইনের শেষ রয়েছে।
চেষ্টা dos2unix -ih
আমি উপরের উদাহরণটি লেখার সময় এটি জানতাম না:
আসলে দেখা যাচ্ছে যে ডস 2 ইউনিক্স আপনাকে একটি শিরোনাম লাইন দেবে যদি আপনি এর মতো -ih
(সংক্ষিপ্ত --info=h
) ব্যবহার করেন :
$ dos2unix -ih -- *
DOS UNIX MAC BOM TXTBIN FILE
0 37 0 no_bom text 0.example.end.cer
0 27 0 no_bom text 0.example.end.key
0 28 0 no_bom text 1.example.int.cer
0 25 0 no_bom text 2.example.root.cer
0 35 0 no_bom text example.opensslconfig.ini
0 19 0 no_bom text example.req
এবং অন্য একটি "প্রকৃতপক্ষে" মুহূর্ত: শিরোনাম ফর্ম্যাটটি মনে রাখা সত্যিই সহজ: এখানে দুটি স্মৃতিবিদ্যার কথা:
- এটি ডাম্বু (বাম থেকে ডান: ডসের জন্য ডি, ইউনিক্সের জন্য মি, ম্যাকের জন্য মি, বিওএমের জন্য বি)।
- এবং এছাড়াও: "DUM" হ'ল ডি, ইউ এবং এম এর বর্ণানুক্রমিক ক্রম মাত্র
আরও পড়া
man less
,।