অনেকগুলি ফাইলের সামগ্রী দেখান


19

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

./WtCgikkCFHmmuXQXp0FkZjVrnJSU64Jb9WSyZ52b
./xdIwVHnHY7dnuM9zcPDYQGZFdoVORPyMVD2IzjgM
./GZnATXO1e5Hh3Bz1bhgJjjwheIjjZqtnXR0hfOyj
./mWz7ehBNoTZmtDh8JG6sxw2lMJFwIovPzxDGECUY
./JN65F5v3RL2ilHPqNSx9N9D4lvVpqpbJ9lASd8TJ
./At9PS4y4nTiXUO0Z0USnbYkTPBla1msQRpwuruqE
./YiPyMZPCaUDZTiTczAvWII9bJrUqLXCFtH2pXEA2
./JoakdlbRFPwAvWp1d4n8RvMoyMeizCoiriL2Sn2U
./wFPWZUus8Yu7UtESGABLCoqDg36cT90USO0xuyUr
./qseI9PgV1EJfZCDyGGeVytajqG7JeX0r7eA5S1JW
./zgFJpNgXyCsaVh38aCuMGuzHwIbwSNB6rQDdh27x
./.htaccess

এখন আমি ব্যতীত সমস্ত ফাইলের সামগ্রী দেখতে চাই .htaccess। এটি দেখতে কিছুটা দেখতে লাগবে:

WtCgikkCFHmmuXQXp0FkZjVrnJSU64Jb9WSyZ52b:
Contents of file WtCgikkCFHmmuXQXp0FkZjVrnJSU64Jb9WSyZ52b.

xdIwVHnHY7dnuM9zcPDYQGZFdoVORPyMVD2IzjgM:
Contents of file xdIwVHnHY7dnuM9zcPDYQGZFdoVORPyMVD2IzjgM.

[...]

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


উত্তর:


30

দুটি মানক কমান্ড headএবং tailফাইলের নাম সহ একটি শিরোনাম মুদ্রণ করুন যদি আপনি তাদের একাধিক ফাইল আর্গুমেন্ট পাস করেন। পুরো ফাইলটি মুদ্রণ করতে, ব্যবহার করুন tail -n +1(প্রথম লাইন থেকে প্রিন্ট করুন, অর্থাৎ সমস্ত কিছু)।

এখানে, দেখে মনে হচ্ছে আপনি একক ফাইল বাদে প্রতিটি ফাইল দেখতে চান যার নাম বিন্দু দিয়ে শুরু হয়। ডট ফাইলগুলি ইউনিক্সের অধীনে "লুকানো" থাকে: এগুলি lsকোনও ওয়াইল্ডকার্ড ম্যাচের ডিফল্ট আউটপুটে বা উপস্থিত হয় না । সুতরাং প্রতিটি অ গোপনীয় ফাইলের সাথে মিল রেখে ন্যায়বিচার করা হয় *

tail -n +1 *

(কড়া কথা বলতে গেলে tail -n +1 -- *ফাইলের একটির নাম দিয়ে শুরু হওয়া দরকার begins -)


সংক্ষিপ্ত এবং মিষ্টি, আপনাকে ধন্যবাদ! আপনি কি জানেন যে আমি কোথায় এই --সংশোধক সম্পর্কে পড়তে পারি ?
Znarkus

2
@ জ্নার্কাস: --বিকল্পগুলির সমাপ্তি বোঝাতে হ'ল একটি সম্মেলন যা বেশিরভাগ আদেশ আদেশ মেনে চলে। যেমন tail -n +1 -- -f -gবলে tailযে -f-g(operands) এবং অপশন পড়তে ফাইল। এটি পসিক্স ইউটিলিটি সিনট্যাক্স গাইডলাইন (ইউটিলিটি লেখকদের উদ্দেশ্যে তৈরি একটি দস্তাবেজ) এর গাইডলাইন 10 । শেষ-ব্যবহারকারীদের জন্য আমার কাছে কোনও পড়ার পরামর্শ নেই, আমি এটির কোনও পর্যায়ে একটি ভাল ইউনিক্স টিউটোরিয়ালটি কভার করার আশা করব।
গিলস 10'50 এ '

শুধু একটি মন্তব্য কারণ অনেক অন্যান্য উত্তর ব্যবহারের প্রস্তাব find, কিন্তু তারপর মুদ্রণ ফর্ম্যাটিং সহ কিছু Exec ব্যবহার করুন: ব্যবহার করতে একটি সহজ উপায় findএবং tailহল: find . -type f -print0 -name "*" | xargs -0 tail -n +1 -- ( -print0এবং xargs -0এবং --নিশ্চিত করুন যে কমান্ড এছাড়াও ব্যবধান সহ ফাইলের নামের সাথে কাজ করে বা দিয়ে শুরু -)
IanH

14

আপনি এটি দিয়ে একসাথে সব করতে পারেন find:

$ find . -type f -not -name .htaccess -printf "\n%p\n" -exec cat {} \;

যে বলে findসমস্ত ফাইল (এটি -type f) বর্তমান ডিরেক্টরির (ইন .ছাড়া () -not) এক নামে .htaccess( -name .htaccess)। তারপরে এটি ( -printf) ফাইললাইন ( ) এর পরে একটি নতুন লাইন প্রিন্ট করে %pএবং তারপরে catফাইলটি চালায় ( -exec cat {} \;)। এটি আপনাকে এইভাবে আউটপুট দেবে:

test/test3
Line 1

test/test2
Line 1

test/test1
Line 1
Line 2
Line 3

আপনি যদি প্রায়শই এটি করেন তবে এটি শেল স্ক্রিপ্ট বা কোনও ফাংশনে এটি স্টিক করা মূল্যবান হতে পারে; আমার একটি নাম আছে catsযা ঠিক তা করে:

#!/bin/bash
for filename; do
    echo "\033[32;1m$filename\033[0m"
    cat "$filename"
    echo
done

এটি প্রতিটি ফাইলের নাম আর্গুমেন্টের উপর লুপ করে, ফাইলের নাম মুদ্রণ করে (গা bold় সবুজ রঙে) এবং তারপরে ফাইলটি বিড়াল করে:

উদাহরণ স্ক্রিনশট

তাহলে কমান্ডটি কেবল এইভাবে হবে:

$ find . -type f -not -name .htaccess -exec cats {} \+

অন্যটি সংক্ষিপ্ত ছিল, তাই এটি গ্রহণ করে। দুর্দান্ত উত্তর যদিও, আপনাকে ধন্যবাদ!
Znarkus

6

বর্তমান ফোল্ডারে সমস্ত ফাইলের সামগ্রী দেখানোর জন্য, চেষ্টা করুন:

grep -vI "\x00" -- *

এবং অনুরূপ, তবে পুনরাবৃত্তি:

grep -vIr "\x00" -- .

বিন্যাস হবে: filename: content

প্রস্তাবিত অনুরূপ ফর্ম্যাট থাকতে, এটি হবে:

grep -rvl "\x00" -- * | while read file; do printf "\n\n#### $file ####\n"; cat $file; done

পার্শ্ব নোট:

  • \x00উপরের উদাহরণগুলিতে NUL ( ) ব্যবহার করা বাইনারি ফাইলগুলি প্রদর্শন করতে বাধা দেয় (যা -Iআসলে করছে তবে আমাদের এখনও কিছু প্যাটার্ন ব্যবহার করতে হবে)।
  • ওয়াইল্ডকার্ড ( *) ব্যবহার করে এটি স্বয়ংক্রিয়ভাবে লুকানো ফাইলগুলিকে উপেক্ষা করে .htaccess

আরও দেখুন: গ্রেপ: একবার ফাইলের নাম প্রদর্শন করুন, তারপরে ইউনিক্স এসই-তে লাইন সংখ্যার সাথে প্রসঙ্গটি প্রদর্শন করুন


2
সাধারণত grep -r ^যথেষ্ট হয়।
catpnosis


1

আপনি যদি টিউনটি টিউন করতে চান এবং পাইপগুলির সাথে খুব বেশি সময় না ,ালেন, সন্ধান করুন এবং সমস্ত কিছু (আপনি সন্ধান করতে পারেন এমন সবচেয়ে শক্তিশালী সরঞ্জামচয়ন হ'ল)

শুধু একটি লুপ, বিড়াল ইত্যাদি ব্যবহার করার চেষ্টা করুন


0

আপনি যদি খুব মুদ্রণ চান তবে এটি পুনরাবৃত্তভাবে ব্যবহার করুন (উদাহরণস্বরূপ .sql এক্সটেনশানযুক্ত ফাইলগুলির জন্য):

find -name "*.sql" -exec cat {} \; > all.sql
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.