আমার ফোল্ডারের একটিতে দুটি ফাইলের কী একই নাম থাকতে পারে?


12

আমি দুটি ফাইল ডাউনলোড করেছি, সেগুলি দুটিই একই ফাইলনামে সংরক্ষিত হয়েছিল এবং তারপরে আমি এগুলিকে স্ক্যাপ দিয়ে অন্য কম্পিউটারে স্থানান্তরিত করেছিলাম।

দ্বিতীয়টি বাঁচালে তারা কেন এক হয়ে গেল না?


2
আপনি ls -laদয়া করে ফলাফল প্রদর্শন করতে পারেন ?
রাইকায়ো

2
আরও ভাল, ls -lb(বা ls -lab, যদি নামটি দিয়ে শুরু হয় .)।
জি-ম্যান 21

1
এছাড়াও, ঠিক, কি ঘটেছে? আপনি ডাউনলোড করেছেন dir1/fooএবং dir2/fooমেশিন এক্স-এ, তারপরে scpএগুলি dir42মেশিন ওয়াইতে এড করেছেন , এবং তারা একই নামে পৃথক ফাইল হিসাবে এসেছিল? অথবা আপনি একই নামে দুটি ডিরেক্টরি একই ডিরেক্টরিতে (মেশিন এক্সে) ডাউনলোড করেছেন এবং সেগুলি একই নামে পৃথক ফাইল হিসাবে এসেছে?
জি-ম্যান 21:

উত্তর:


39

সম্ভবত তারা দেখতে একই রকম তাদের একই নাম রয়েছে।

চেষ্টা করুন:

$ touch Stéphane Stéphane Stéphane\  St​éphane
$ ls -1
Stéphane
Stéphane
St​éphane
Stéphane 

তারা দেখতে অনেকটা একই রকম।

$ ls -1b
Stéphane
Stéphane
St​éphane
Stéphane\ 

কিছুটা ভাল. স্থান অক্ষরটি পতাকাঙ্কিত হয় \ (যদিও সমস্ত lsবাস্তবায়ন তা করে না)।

$ LC_ALL=C ls -1b
Ste\314\201phane
St\303\251phane
St\303\251phane\ 
St\342\200\213\303\251phane

এখন আমরা কথা বলছি (সমস্ত নন-এসসিআইআই অক্ষরগুলি তাদের বাইট উপাদানগুলির অষ্টাল মান হিসাবে রেন্ডার করা হয়)

আপনি এটি করতেও পারেন এবং এটি কোনও ইনপুটটির জন্য কাজ করে:

$ ls | LC_ALL=C sed -n l
Ste\314\201phane$
St\303\251phane$
St\342\200\213\303\251phane$
St\303\251phane $

এখানে, রেখাগুলির শেষটি চিহ্নিত করা হয়েছে $যার সাহায্যে পিছনের স্থানটি চিহ্নিত করা সহজ হয়। যাইহোক, এটি কল করা কোনও ফাইল স্পট করতে সহায়তা করবে নাStéphane<newline>Stéphane

$ ls | perl -Mopen=locale -MUnicode::UCD=charinfo -lpe '
       s/[^\41-\177]/"<".charinfo(ord$&)->{name}.">"/ge'
Ste<COMBINING ACUTE ACCENT>phane
St<LATIN SMALL LETTER E WITH ACUTE>phane
St<ZERO WIDTH SPACE><LATIN SMALL LETTER E WITH ACUTE>phane
St<LATIN SMALL LETTER E WITH ACUTE>phane<SPACE>

কী ঘটেছে তা পরিষ্কার করে দেয়।

আরও দেখুন অন্য উত্তর বিষয় সম্পর্কে আরো জানার জন্য।


1
আপনি যদি আমাকে স্টিফেনকে জিজ্ঞাসা করতে আপত্তি করেন না তবে পাইপযুক্ত আদেশটি LC_ALL=C sed -n 1কী করবে?
রাইকায়ো

3
sedএর lকমান্ড দৃশ্যত অস্পষ্ট আকারে ইনপুট প্রদর্শন করে। এলসি_এলএল = সি দিয়ে, আমরা নিশ্চিত হয়েছি যে এটির জন্য এটি কেবলমাত্র ASCII অক্ষর ব্যবহার করে (যদিও কমপক্ষে GNU এর সাথে sedএটি প্রয়োজনীয় নয়)।
স্টাফেন চেজেলাস


@ ভিঙ্ক ১,, ভাল পয়েন্ট, এটি নিউলাইন চরিত্রের সাহায্যে ফাইল স্পট করা থেকে ভাল, তবে সর্বদা স্থান অনুসরণ করার জায়গা নয়। আমি এটি উত্তরে যুক্ত করেছি।
স্টাফেন চেজেলাস

বাজে, টিআইএল যে কোনও ফাইলের নামের শেষে আপনার ফাঁকা স্থান থাকতে পারে এবং দেখে মনে হচ্ছে ফাইল সিস্টেমে দুটি নামের মতো ফাইল রয়েছে! দুর্দান্ত উত্তর, ls | LC_ALL=C sed -n lসত্যিই এখন ঠিক একটি বড় সময় সেভার ছিল, ধন্যবাদ!
এলিজা লিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.