পেস্ট কমান্ড: সেটিং (একাধিক) ডিলিমিটার


9

লিনাক্সে আমার paste(জিএনইউ কোর্টিল) 8.13 এর সাথে নিম্নলিখিত সমস্যা রয়েছে :

ডিফল্ট (টিএবি) এর চেয়ে অন্য একটি সীমানা নির্ধারণের চেষ্টা করা হয় কেবলমাত্র সংজ্ঞায়িত ডিলিমিটারের প্রথম চরিত্রটি মুদ্রণ করতে বা একে একে পুরোপুরি উপেক্ষা করা।

প্রশ্ন : ব্যবহার করার সময় একজন কীভাবে একাধিক ডিলিমিটার সংজ্ঞায়িত করে paste ?

সহজভাবে ব্যবহার করুন, যেমন ডিলিমিটার হিসাবে abc-123 ভাল লাগবে। "একাধিক" দিয়ে আমি বোঝাতে চাইছি একটির পরিবর্তে 2 টিএবিএস।


আমি এতদূর চেষ্টা করেছি ডিলিমিটারগুলি ঘিরে থাকা নিদর্শনগুলি

  • --delimiters="\delimiter"
  • --delimiters='\delimiter'
  • --delimiters=$"\delimiter"
  • --delimiters=$'\delimiter'

একই ফলাফল সহ সমস্ত: কেবলমাত্র প্রথম চরিত্রটি গ্রহণ করা হয় বা পুরোপুরি উপেক্ষা করা হয়। আমি সংক্ষিপ্ত সংস্করণ -d"\"এবং একাধিক উদাহরণও চেষ্টা করেছি ; কিছুই নেই।

এছাড়াও:

  • --delimiters="\\" → ত্রুটি বার্তা

যা নিখুঁতভাবে কাজ করে, যদিও আমি তা চাই না:

  • --delimiters="\n" → নিউলাইন
  • --delimiters="\0" B অন্তর্হীন কিছুই
  • --delimiters="\t"TABডিফল্ট। গ্রেট।

উত্তর:


17

আছে abcinbetween file1 এবং file2, আপনি করতে পারেন:

paste -d abc file1 /dev/null /dev/null file2

বা:

paste -d abc file1 - - file2 < /dev/null

আপনি যদি দুটি ট্যাব চান:

paste file1 /dev/null file2

" টেক্সট প্রসেসিংয়ে দুটি কলাম তৈরি করতে ব্যবহার করে/dev/null " কাজ করে (এছাড়াও: এই যে সাধারণ জ্ঞানটি আমি এতদিন মিস করেছি এবং যদি তা না হয়: আপনি কোথা থেকে এই তথ্যটি পেয়েছেন?)
ইরচ

1
@ Chirp.NotLuke। /dev/nullপড়ার সময় একটি খালি ফাইলের মতো কাজ করে, সুতরাং আপনি পেস্ট করছেন file1এবং খালি ফাইল এবং খালি ফাইল, ফাইল 2 বিভাজনকারী রয়েছে, ঘুরে a, bএবং c। ম্যান পেজে কীভাবে -dকাজ করে তার বিশদ paste
স্টাফেন চেজেলাস

@ স্টাফেনচাজেলাস আপনি কি pr -mts'abc' file1 file2বিকল্প হিসাবে যুক্ত করতে পারেন ?
সুদীপ

4

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

যেমন

file1 line1 DELIMCHAR0 file2 line1 DELIMECHAR1 file3 line1 ...
file1 line2 DELIMCHAR0 file2 line2 DELIMECHAR1 file3 line2 ...
...

2

বিএসডি সিস্টেমগুলিতে (আমার জ্ঞানের লিনাক্স নয়), lamইউটিলিটি রয়েছে (যা "স্তরিত" হিসাবে রয়েছে) উপরের সমাধানের চেয়ে দ্রুত এবং সংক্ষিপ্ত:

lam file1 -s delimiter file2
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.