আরপিএম দিয়ে কী কম করছে এবং আরপিএম ছাড়াই কীভাবে আমি এই লেখাটি পেতে পারি


12

আমি যখন মৃত্যুদন্ড কার্যকর করি তখন less package.rpmকম প্যাকেজ সম্পর্কে সমস্ত ধরণের মেটা তথ্য আমাকে দেখায়। ঠিক কী করছে কম - এটি কি মেটা তথ্য আহরণ করতে সক্ষম হতে কোড তৈরি করেছে, বা কোনও আরপিএম এমনভাবে কাঠামোযুক্ত হয়েছে যাতে প্রথম অংশটি কোনও টেক্সট ফাইলের মতো দেখায়?

আমি প্রাক্তন ধরে নিব, যেহেতু headএখানে এত সহায়ক নয়। তবে আসল প্রশ্নটি পেতে : আমি যদি grepএই মেটা ডেটা আমাকে কম দেখিয়ে দেখতে চাই তবে আমি কীভাবে এটি সম্পাদন করতে পারি?

উত্তর:


23

আপনি যদি lessম্যান পৃষ্ঠাটি ব্রাউজ করেন তবে আপনার লক্ষ্য থাকবে lessএকটি ইনপুট প্রিপ্রসেসর বৈশিষ্ট্য has

echo $LESSOPENএই প্রিপ্রেসেসরের অবস্থান দেখতে এবং এর সামগ্রীগুলি দেখতে less/ vim/ ব্যবহার catকরতে।

আমার মেশিনে এই প্রিপ্রোসেসরটি /usr/bin/lesspipe.shএটিতে আরপিএমএসের জন্য নিম্নলিখিতটি অন্তর্ভুক্ত করে:

*.rpm) rpm -qpivl --changelog -- "$1"; handle_exit_status $?

বস্তুতপক্ষে, lessফাইল openning বন্ধ হাত rpm, এবং আপনি শো এর উত্পাদনের পত্রাঙ্কন।

স্পষ্টতই, এই তথ্যের মাধ্যমে গ্রেপ করার জন্য, সরাসরি আরপিএমের আউটপুটটিকে সরাসরি গ্রেপ করুন:

grep "foo" < <(rpm -qpivl --changelog -- bar.rpm)

বা সাধারণভাবে (ধন্যবাদ অরেঞ্জডগ)

grep "foo" < <(lesspipe.sh bar.rpm)

দ্রষ্টব্য: $LESSOPEN কেবলমাত্র এর অবস্থানটি ধরে রাখে না lesspipe.sh- এটি একটি দিয়ে শুরু হয় |এবং %sএটি সরাসরি অনুরোধের সাথে শেষ হয় ত্রুটির ফলস্বরূপ।


1
না কেন grep "foo" < <($LESSOPEN bar.rpm)? অথবা সম্ভবত এমনকি $LESSOPEN bar.rpm | grep "foo"
jpmc26

4

আমি যদি আমাকে এই মেটা ডেটা কম দেখিয়ে গ্রেপ করতে চাই তবে আমি কীভাবে এটি সম্পাদন করতে পারি?

খুব সহজভাবে; যদি আপনি উদাহরণস্বরূপ "সংস্করণ" এ গ্রেপ করতে চান:

less your.rpm | grep "Version"

মনে রাখবেন কম rpmকমান্ডটি ব্যবহার করছে ; তাই কম ব্যবহার করে এড়িয়ে চলুন; এবং rpmকমান্ড ব্যবহার ; মত:

rpm -qip /path/to/uninstalled/rpm
rpm -qi installed.rpm
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.