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


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.