কমতে পাইপ দেওয়া এবং সম্পাদনা করা: "স্ট্যান্ডার্ড ইনপুট সম্পাদনা করতে পারে না" ত্রুটি। সমাধান নীচে উপস্থিত?


9

আমি সম্প্রতি শিখেছি যে আমি যদি আমার ফাইলগুলি সাথে পৃষ্ঠাগুলি করি তবে আমি ইম্যাক্সে বাফার lessটিপতে vএবং খুলতে পারি । এটি যতক্ষণ না আমার কাছে পরিবেশের পরিবর্তনশীল $EDITORসঠিকভাবে সেট আপ হয়, যা আমার ক্ষেত্রে এটি হিসাবে রয়েছে:

export EDITOR='env TERM=xterm-256color emacs -nw'

উপরেরটি আমাকে টার্মিনালে চালিত ইম্যাকগুলি লোড করার ক্ষমতা দেয় less।

যাইহোক, উপরে কৌতুক যখন কাজ করে না বংশীধ্বনিতুল্য আদেশগুলি less। এটি করার সময়, lessনিম্নলিখিত বার্তার সাথে অভিযোগ করুন:

Cannot edit standard input (press RETURN)

আমার প্রশ্ন, কেন এমন হয়? তবে সবচেয়ে বড় কথা, এটির কি কোনও কার্যকারিতা নেই ?


2
আপনার কীভাবে ইম্যাক্স্লিয়েন্ট ব্যবহার করবেন তা শিখতে হবে, যা আপনাকে ইম্যাক্সের একটি ইতিমধ্যে চলমান অনুলিপিগুলিতে ফাইলগুলি সম্পাদনা করতে দেবে। ইমাকস দ্রুততম-সম্পাদনা সম্পাদক নয়।
— সিজেএম

কেন আপনি আমার সম্পাদনা রোলব্যাক করলেন? শিরোনামটি কি প্রশ্ন হওয়ার কথা নয়?
— জন

1
দুঃখিত @ জন, আমি আপনার সম্পাদনাটি দেখিনি। আমি শিরোনামটি সম্পাদনা করে এই বিষয়টি স্পষ্ট করে দিয়েছিলাম যে আমি বেশিরভাগই এই সমস্যাটির প্রতি আগ্রহী। আমি শিরোনামটি যেমন মনে করি: Piping into less and editing: “cannot edit standard input” error. Workarounds?এটি পরিষ্কার। অন্যথায় কেন ভাবেন?
— অ্যামিলিও ওয়াজকেজ-রেইনা

এটা বোধগম্য। যদিও আমি ধরে নেব যে আপনি যদি ত্রুটিটি কেন পেয়েছিলেন তা যদি জিজ্ঞাসা করেন তবে এটি স্পষ্ট হওয়া উচিত যে আপনি একটি কর্মসংস্থান চান।
— জন

আমি সম্মত, যদিও এখন পর্যন্ত সর্বাধিক ভোট দেওয়া উত্তরটি whyকেবলমাত্র এবং কেবলমাত্রই সম্বোধন করে না workarounds, তাই আমি জোর দিয়েছি।
— অ্যামিলিও ওয়াজকেজ-রেইনা

উত্তর:


5

যেমনটি ইতিমধ্যে বলা হয়েছিল, আপনি কোনও ইনপুট স্ট্রিম সম্পাদনা করতে পারবেন না।

কার্যসংক্রান্ত বেশ সুস্পষ্ট: মধ্যে থেকে একটি ফাইলে প্রবাহ সংরক্ষণ lessএবং সংরক্ষিত ফাইল খোলার । দেখার সময় তা করতে, টিপুন sএবং একটি ফাইলের নাম দিন। তারপরে হয় প্রস্থান করুন lessএবং হাতে হাতে ফাইলটি খুলুন, বা এর মধ্যে থেকে এখনও lessটাইপ করুন :eএবং আপনার সবেমাত্র সংরক্ষণ করা ফাইলটির নাম দিন।


15

আপনার সম্পাদকের নিকট থেকে কম আউটপুটটি পাইপ করা ভাল কাজ, যেমন "ইকো ফু | কম" এর পরে আপনি যা করতে পারেন:

g|$vim -

gফাইল / ইনপুটটির প্রথম লাইনে চলে |যাবে, "পাইপ" ক্রিয়াটি শুরু করবে, $চিহ্নটি ("শেষ") হবে, এরপরে রেঞ্জটি পাইপ করার আদেশটি ( vim -এই ক্ষেত্রে, যেখানে "-" মানে স্টিডিন থেকে ইনপুট পড়তে)।


1
অান্তরিক ধন্যবাদ!
— সাইমন পিকআপ

5

এটি ঠিক যা বলেছে তার অর্থ - আপনি কেবল ডিস্কে থাকা কোনও ফাইলই (এখান থেকে less) সম্পাদনা করতে পারবেন । আপনি যদি একটি প্রক্রিয়ার আউটপুট পাইপ, তাহলে এটির STDOUTমধ্যে যাওয়া হয় STDINজন্য less; সম্পাদনার জন্য কোনও ফাইল নেই।

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