ফাইল নাম, তারিখ এবং আকার দেখানোর জন্য ls এর আউটপুট সীমাবদ্ধ করতে হবে?


19

আমি কিভাবে ব্যবহার করতে পারেন ls ফাইলের নাম তারিখ এবং আকারের তালিকা পেতে লিনাক্সে? আমি মালিক, অনুমতি মত অন্যান্য তথ্য দেখতে হবে না।


1
একটি প্রোগ্রামিং প্রশ্ন না। চেষ্টা unix.stackexchange.com
Matt Ball

কোন লিনাক্স আমরা কথা বলছি?
tolitius

Apache সার্ভার ..

উত্তর:


23

ls -l | awk '{print $5, $6, $7, $9}'

এটি ফাইল সাইজের বাইট, মাস, তারিখ এবং ফাইলনাম মুদ্রণ করবে।

jin@encrypt /tmp/foo % ls -l
total 0
drwxr-xr-x  2 jin  wheel  68 Oct  4 12:43 bar
drwxr-xr-x  2 jin  wheel  68 Oct  4 12:43 baz
drwxr-xr-x  2 jin  wheel  68 Oct  4 12:43 quux

jin@encrypt /tmp/foo % ls -l | awk '{print $5, $6, $7, $9}'
68 Oct 4 bar
68 Oct 4 baz
68 Oct 4 quux

একটি নন প্রোগ্রামিং প্রোগ্রাম এর উত্তর ভোটিং উপর নীতি কি? :-)

@ সোসুকুডো হ্যাঁ, আমি নিশ্চিত নই। কিন্তু লোকেরা মনে করে যে খারাপ প্রশ্নগুলি হ্রাস করা ঠিক তবে এটি দরকারী হলে উত্তরগুলির উত্তর নেই। meta.stackexchange.com/questions/98197/...
Jin

@ সুসুকোডোঃ এখন অনুগ্রহ করে মুক্ত হোন :)
sehe

3
একাধিক স্পেস সঙ্গে ফাইলের নাম জন্য কোন সমর্থন
meso_2600

8

টেকনিক্যালি, এটা সম্ভব নয় ls, কিন্তু find তার সঙ্গে একই কাজ করতে পারেন -printf পরিবর্তন করুন:

find -maxdepth 1 -printf '%t %s %p\n'

1
আপনি পরামর্শ আমার বিজয়ী, এবং আমি সুপারিশ করব যে যদি লোকেরা printf এর জন্য আরো ক্ষেত্রগুলিতে আগ্রহী হয় তবে তারা RTFM। উদাহরণস্বরূপ, আমাকে কোনও ডিরেক্টরি নয় এমন সমস্ত ফাইলের জন্য অনুমতিগুলি দেখান: find usr/lib/ -not -type d -printf '%M %p\n আউটপুট: -rw-r--r-- usr/lib/x86_64-linux-gnu/apr-util-1/apr_crypto_openssl-1.so ... মাছের কাছে মানুষকে শিখিয়ে দাও ...
Craig

4

আরেকটি অ- ls পথ:

> stat --printf='%y\t%12s\t%-16n|\n' tmp.*
2017-06-15 10:42:07.252853000 +0200         10485760    tmp.1           |
2017-06-15 10:41:25.659570000 +0200              666    tmp.TKPzm3BfRw  |

ব্যাখ্যা: %y = মানুষের পঠনযোগ্য পরিবর্তন তারিখ; %s = বাইট সাইজ ( %12s ডান সংলগ্ন, দৈর্ঘ্য 12); %n = ফাইলের নাম ( %-16n বাম-সংলগ্ন, দৈর্ঘ্য 16); \t = ট্যাব, \n = linefeed। | = আক্ষরিক পাইপ গৃহস্থালি, শুধু ফাইল নামের শেষে প্রদর্শন।

মত ls, stat কোন ফাইল দেখানোর জন্য কোন বিকল্প নেই। (যে উপরে বা কিছু হিসাবে দেখানো শেল globbing দ্বারা সম্পন্ন করা যেতে পারে find ... -print0 | xargs -r0 stat ..., উদাহরণ স্বরূপ.)


3

আপনি সর্বদা করতে পারেন:

$ ls -l
total 0
-rw-r--r--  1 user  staff  0 Oct  6 23:29 file1
-rw-r--r--  1 user  staff  0 Oct  6 23:29 file2
-rw-r--r--  1 user  staff  0 Oct  6 23:30 file3
-rw-r--r--  1 user  staff  0 Oct  6 23:30 file4
-rw-r--r--  1 user  staff  0 Oct  6 23:30 file5
-rw-r--r--  1 user  staff  0 Oct  6 23:30 file6
-rw-r--r--  1 user  staff  0 Oct  6 23:30 file7

cut এটা:

$ ls -l | cut -f 8-13 -d ' '

0 Oct  6 23:29 file1
0 Oct  6 23:29 file2
0 Oct  6 23:30 file3
0 Oct  6 23:30 file4
0 Oct  6 23:30 file5
0 Oct  6 23:30 file6
0 Oct  6 23:30 file7

$ 

3
সঙ্গে কাজ করে না: পরিবর্তনশীল মালিকানা, গ্রুপ, ফাইল মাপ
meso_2600

কাটা ক্রমবর্ধমান delimiters, যেখানে হিসাবে পতন হয় না ls -l হোয়াইটস্পেস প্যাডিং ব্যবহার করে। যদি আপনার কলাম অভিন্ন দৈর্ঘ্য না হয় (যা কলাম 5, ফাইলের আকার প্রায়শই না), কাট সঠিকভাবে কলামগুলি নির্বাচন করবে না। ক্রমাগত ক্রমসংশ্লিষ্ট স্থানগুলি হেল্প করতে সহায়তা করবে (ফাইল নামগুলিতে স্পেসগুলির জন্য দেখুন)। ls -l | tr -s ' ' | cut -f 8-13 -d ' '
Dave

2

টলিশাস উপর সামান্য পরিবর্তন

ls -lh | cut -f 6- -d ' '

1
পার্থক্য যোগ করে কি ব্যাখ্যা করতে হবে?
Ivo Flipse

6-x এর স্টেড 6- এ ব্যবহার করে শেষ ক্ষেত্রের সংখ্যা নির্দিষ্ট করতে কেবলমাত্র প্রয়োজনীয়তা সরিয়ে ফেলা
zzapper
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.