লিনাক্স: ফাইলগুলির মধ্যে বিভাজক সহ বিড়াল


28

লিনাক্সে আপনি বিড়াল * টাইপ করলে আপনি এরকম কিছু পাবেন:

file1 থেকে line1
file1 থেকে line2
file2 থেকে line1
file3 থেকে line1
file3 থেকে line2
file3 থেকে line3

আমি যা চাই তা হ'ল ফাইলগুলির মধ্যে একটি বিভাজক প্রদর্শন করা। : ভালো কিছু
file1 থেকে line1
file1 থেকে line2
XXXXXXXXXXXX
file2 থেকে line1
XXXXXXXXXXXX
file3 থেকে line1
file3 থেকে line2
file3 থেকে line3

ওয়ান-লাইনার দিয়ে কী সহজেই হৃদয় দিয়ে টাইপ করা সহজ?

উত্তর:


40

আপনি যদি বিভাজনের চেহারা সম্পর্কে খুব উদ্বিগ্ন না হন:

tail -n +1 *

এটা অসাধারণ! আমি আশ্চর্য হলাম কীভাবে আপনার আদেশটি লেজ -1 1 * এর থেকে আলাদা। ম্যান পৃষ্ঠায় আমি +1 (1 এর চেয়ে রথিন) এর প্রভাবের কোনও উল্লেখ পাই না।
ড্যানিয়েল

1
tail -n Xশেষ এক্স লাইন প্রদর্শন করে। tail -n +Xএক্স লাইন থেকে শুরু করে 1 থেকে শুরু হচ্ছে , এটি প্রথম (এক্স -1) লাইন ছাড়া সমস্ত দেখায়।
গিলস 'অশুভ হওয়া বন্ধ করুন'

আহ, এখন আমি এটি ম্যান পৃষ্ঠাতে দেখতে পাচ্ছি। আমি এটি উপেক্ষা করেছি। দুর্দান্ত, একটি গুচ্ছকে ধন্যবাদ
ড্যানিয়েল

একই সমাধান এই প্রবন্ধে আছেন: everythingsysadmin.com/2012/09/unorthodoxunix.html
TomOnTime

খারাপ মন্তব্যের জন্য দুঃখিত, তবে এটি দুর্দান্ত। আপনাকে ধন্যবাদ, @ গিলস
মাইক ডি

17

cd /to/your/directory; for each in *; do cat $each; echo "XXXXXXXXXXX"; done


আমাকে এতে মারধর করুন :-)
সাইরেক্স

তবুও গিলস প্রদত্ত সমাধানটি কার্যকরভাবে সংক্ষিপ্ত!
জান্নে পিক্কারায়েন

কি দারুন. কাজ অবাক। আমাকে JSONs
মায়াঙ্ক

11
awk 'FNR==1 && NR!=1 {print "XXXXXXXXXXXX"}{print}' *

অথবা

awk 'FNR==1 {print "XXXXXX", FILENAME, "XXXXXX"}{print}' *

অথবা

awk 'FNR==1 {print "XXXXXX File no. " ++count, "XXXXXX"}{print}' *

কেবল বাশ (না cat) ব্যবহার করুন :

for file in *; do printf "$(<"$file")\nXXXXXXXXXXXX\n"; done

সম্পাদনা:

এডাব্লুকে ৪-তে:

awk 'BEGINFILE {print "XXXXXXXXXXXX"}{print}' *

আপনি এই উত্তরের অন্যান্য উদাহরণগুলির মতো যেকোন বিভাজক ব্যবহার করতে পারেন। আপনি যদি প্রতিটি ফাইলের শেষে বিভাজক চান, তবে এতে পরিবর্তন BEGINFILEকরুন ENDFILE। এটি এখনও স্ক্রিপ্টের শুরুতে উপস্থিত হতে পারে যেহেতু এটি শর্তসাপেক্ষ (কার্যকর আদেশের পরিবর্তে) ..


2
অজানা জন্য +1! আমি শপথ করছি এটি কিছু করতে পারে ...
ব্র্যাড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.