ফাইলগুলির পরিবর্তে আউটপুট তুলনা করতে ভিমডিফ


15

আমি দুটি কমান্ড আউটপুট তুলনা করার চেষ্টা করছি (কোনও ফাইল নেই)

vimdiff "$(tail /tmp/cachain.pem)" "$(tail /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem)"

আমি পুনঃনির্দেশ, পাইপ এবং খেলার চেষ্টা করেছি, vim - -cতবে আমি অবশ্যই কিছু অনুপস্থিত। কেউ দয়া করে সাহায্য করতে পারেন?

উত্তর:


23

আপনি বিভ্রান্ত $(…)করছেন <(…)। সাবেক, যা আউটপুট পাসের ব্যবহৃত আর্গুমেন্ট করতে vimdiff। উদাহরণস্বরূপ, যদি শেষ পংক্তিতে /path/to/fooথাকে bar bar barতবে নিম্নলিখিত কমান্ডটি

echo $(tail -1 /path/to/foo)

সমতুল্য

echo bar bar bar

পরিবর্তে, আপনি ব্যবহার করা প্রয়োজন <(…)। এটাকে বলা হয় প্রক্রিয়া প্রতিকল্পন , এবং একটি হিসাবে আউটপুট পাসের সিউডো-ফাইল থেকে vimdiffকমান্ড। সুতরাং, নিম্নলিখিত ব্যবহার করুন।

vimdiff <(tail /tmp/cachain.pem) <(tail /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem)

এটি ব্যাশ এবং zsh এ কাজ করে তবে দৃশ্যত tcsh এ প্রক্রিয়া বদলি করার কোনও উপায় নেই


এটি কেবল
বাশেই রয়েছে

@ সিমোনা আমার জন্য zsh এও কাজ করে। সম্ভবত csh এবং tcsh পাশাপাশি।
স্পারহাক

@Sparhawk এতে tcsh শেল কাজ করে না
Simona

@ সিমোনা এই তথ্যের জন্য ধন্যবাদ; আমি টিসিএসের সাথে পরিচিত নই। আপনি tsch এ কাজ করে এমন একটি উত্তর দেওয়ার বিষয়ে বিবেচনা করতে পারেন। চিয়ার্স।
স্পারহাক

@Sparhawk দৃশ্যত সেখানে এই কোন উপায় নেই tcshএকটি ফাইল তৈরি ছাড়া unix.stackexchange.com/questions/5111/...
Simona
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.