সেড কি কোনও ফাইলের আউটপুট সংরক্ষণ করতে পারে?


33

> এটা করতে পারেন.

echo "text" > file

tee এটা করতে পারেন.

echo "test" | tee file 

sedউপরের কোনটি ব্যবহার না করে কি এটি করতে পারবেন ? sedকমান্ডের আউটপুট একটি >বা একটি ব্যবহার না করে কোনও ফাইলে সংরক্ষণ করা সম্ভব tee?


এখানে প্রশ্ন পোস্ট করার আগে উত্তরটি নিজেই খোঁজার চেষ্টা করুন। আমরা আমাদের ব্যবহারকারীদের প্রথম জিনিসটি পোস্ট করার আগে অনুসন্ধান এবং গবেষণা করা হয়sed '' file > newfileআপনাকে যা করতে হবে তা হ'ল এবং আপনি দেখতেন যে অন্য কোন প্রোগ্রামের মতোই এটি >ব্যবহার করা যেতে পারে sed
terdon

1
এটি এখনও >অপারেটরটি ব্যবহার করছে । আমি আগ্রহী ছিল যদি সেখানে একটি সেড কমান্ড থাকে যা পরিবর্তে ব্যবহার করা যায়। তবে এই প্রশ্নটি যদি খুব খারাপ হয় তবে আমি মুছে ফেলব।
ফোলাট

আহ ঠিক. ঠিক আছে, এটি একটি খুব আলাদা প্রশ্ন। যেহেতু আপনি sed -iউত্তরটি গ্রহণ করেছেন , তাই আমি আপনার প্রশ্নটি সম্পাদনা করব এবং আপনার পরে কী হবে তা স্পষ্ট করব।
terdon

আমি স্বীকার করেছি " sed ডেটা পুনঃনির্দেশের জন্য teeএবং >(হ'ল) বোঝাতে বোঝানো হয় না"।
ফোল্যাট

উত্তর:


49

টি এবং> ডেটা পুনঃনির্দেশের জন্য ব্যবহার করা যেতে পারে কারণ এগুলি লিনাক্সে ডেটা পুনঃনির্দেশের জন্য ব্যবহৃত হতে বোঝানো হয়েছিল।

অন্যদিকে সেড স্ট্রিম এডিটর। সেড ডে-র পুনঃনির্দেশের জন্য টি এবং> এর অর্থ নয়। তবে আপনি এটি করতে কমান্ডের সংমিশ্রণটি ব্যবহার করতে পারেন।

টি বা> সেড ব্যবহার করুন

sed 's/Hello/Hi/g' file-name | tee file

অথবা

sed 's/Hello/Hi/g' file-name > file

-i বিকল্প সহ সেড ব্যবহার করুন

sed -i 's/Hello/Hi/g' file-name

শেষটি পুনর্নির্দেশ করে না, পরিবর্তে এটি ফাইলটিতে পরিবর্তন আনবে।


2
ধন্যবাদ। আপনি আমার প্রশ্ন বুঝতে পেরেছেন। তাহলে উত্তর হল না। আমি ভেবেছিলাম sedএটি নিজেই এটি করতে পারে, কারণ এটি -i.bakবিকল্পের সাহায্যে ব্যাকআপ ফাইল তৈরি করতেও সক্ষম ।
ফোল্যাট

2
সঠিক। এছাড়াও -i.bak একটি স্থির বিকল্প নয়, আপনি যে কোনও এক্সটেনশন ব্যবহার করতে পারেন, যা আপনার ব্যাকআপ ফাইলটি রাখতে চান। প্রাক্তন জন্য -i.log কাজ করবে। :)
আনকিডেমন

echo "test" | dd of=file status=noneঅস্পষ্ট আউটপুট পুনর্নির্দেশটি ব্যবহার না করে একটি প্রতিধ্বনির আউটপুটকে দমন করে আমি আসলে এটি যুক্ত করতে চাই 2> /dev/null, তবে পরিবর্তে সেডের সীমাবদ্ধতার জন্য জিজ্ঞাসা করেছি। আমি ফাইলের লাইন যুক্ত করতে সক্ষম হিসাবে সেডের ক্ষমতাগুলি দেখে আমি সত্যিই মুগ্ধ হয়েছি, আমাকে এমন ধারণা দেয় যে সেড টি কিছু করতে পারে এবং আরও কিছু করতে পারে।
ফোল্যাট

11

sedwআপনার যা প্রয়োজন তা করতে পারে এমন আদেশটি রয়েছে :

ডাব্লু ফাইল নাম

ফাইলের নামটিতে বর্তমান প্যাটার্ন স্পেস লিখুন।

sed 'w file'তার নিজস্ব হিসাবে একই প্রভাব থাকবে tee file। যদি অন্য সেড কমান্ডগুলি থাকে তবে wশেষটি রাখুন:

sed 's/This/That/;w file'

তবে এটি -n/--quiet/--silentবিকল্প দ্বারা প্রভাবিত হবে না । এটি কেবলমাত্র সেই সামগ্রীটিকে দমন করে যা অন্যথায় স্ট্যান্ডার্ড আউটপুটে চলে যেত।


0

আনকিডেমন সঠিকভাবে উল্লেখ করেছে যে আমরা কীভাবে কোনও ফাইলের মধ্যে আউটপুট সংরক্ষণ করতে পারি। আমি যুক্ত করতে চাই যে আমরা যদি কোনও ফাইলে কিছু অপারেশন করছিলাম অর্থাৎ প্রতিস্থাপন এবং একই ফাইলটিতে আউটপুট সংরক্ষণ করতে চাই। এখানে একটি -iপতাকা রয়েছে sedযা অন্তর্ভুক্ত সম্পাদনাগুলি সম্ভব করে তোলে। এটি তবে প্রক্রিয়াটিতে একটি ব্যাকআপ ফাইল তৈরি করে। যদি এটির প্রয়োজন না হয় তবে এটি খালি ফাইল নামটিকে -iপতাকাঙ্কিত করেই করা যায় ।

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