সেড -i '1 ডি' কি করে?


28

আমি বুঝতে পারি যে sedএটি পাঠ্য ফাইলটি পরিচালনা করার একটি আদেশ।

আমার গুগলিং থেকে মনে -iহচ্ছে এটি ফাইলটিতে নিজেই অপারেশন করা, এটি কি সঠিক?

কি হবে '1d'?

উত্তর:


43

ইন sed:

  • -i বিকল্পটি জায়গায় ইনপুট ফাইলটি সম্পাদনা করবে

  • '1d' ইনপুট ফাইলের প্রথম লাইনটি সরিয়ে ফেলবে

উদাহরণ:

% cat file.txt 
foo
bar

% sed -i '1d' file.txt 

% cat file.txt        
bar

মনে রাখবেন, বেশিরভাগ সময় -iবিকল্পটি ব্যবহার করার সময় ব্যাকআপ নেওয়া ভাল ধারণা যাতে কোনও অপ্রত্যাশিত পরিবর্তনের ক্ষেত্রে আপনার মূল ফাইলটি ব্যাক আপ করা যায়।

উদাহরণস্বরূপ, যদি আপনি এটি করেন:

sed -i.orig '1d' file.txt 

আসল ফাইলটি সেই হিসাবে রাখা হবে file.txt.origএবং পরিবর্তিত ফাইলটি হবে file.txt


4
-iপ্রথমে কী হয় তা না দেখে আপনি "ড্রাই রান "ও করতে পারেন, তারপরে -iআসলে ফাইলটি পরিবর্তন করতে ব্যবহার করুন।
বার্ড কোপ্পেরুদ

15

1. ক)

sed '1d' file.txt

এর সামগ্রীগুলি মুদ্রণ করে file.txt; প্রথম লাইন বাদে; স্ট্যান্ডার্ড আউটপুট।


2. ক)

sed -i    '1d' file.txt # GNU, NetBSD, OpenBSD
sed -i '' '1d' file.txt # FreeBSD, macOS

এর সামগ্রীগুলি মুদ্রণ করে file.txt; প্রথম লাইন বাদে; ফিরে file.txt; মূলটি ওভাররাইট করা।


2. খ)

sed -i.back '1d' file.txt

file.txt.backপরিবর্তন করার আগে মূল (হিসাবে ) এর একটি ব্যাকআপ তৈরি করে । FreeBSD 'র সঙ্গে ছাড়া sed, প্রত্যয় (এখানে .back) এর সংযুক্ত করতে হবে -iবিকল্প (একই যুক্তি, এর মাঝে কোন শূন্যস্থান -iএবং .back)।


3. ক)

sed '2d' file.txt

এর সামগ্রীগুলি মুদ্রণ করে file.txt; দ্বিতীয় লাইন বাদে; স্ট্যান্ডার্ড আউটপুট।
(যে কোনও নম্বর উল্লেখ করা সংশ্লিষ্ট লাইনটি সরিয়ে ফেলবে)।

-iপতাকা সঙ্গে সামঞ্জস্যপূর্ণ ।


3. খ)

sed '1!d' file.txt

এর সামগ্রীগুলি মুদ্রণ করে file.txt; সব ব্যতীত কিন্তু প্রথম লাইন; স্ট্যান্ডার্ড আউটপুট।
(অন্য কথায়; কেবল প্রথম লাইনটি মুদ্রিত হয়)

-iপতাকা সঙ্গে সামঞ্জস্যপূর্ণ ।


3. গ)

sed '$d' file.txt

এর সামগ্রীগুলি মুদ্রণ করে file.txt; শেষ লাইন বাদে; স্ট্যান্ডার্ড আউটপুট।

-iপতাকা সঙ্গে সামঞ্জস্যপূর্ণ ।


এফওয়াইআই: বিএসডি সংস্করণ (যেমন ম্যাকোস ডি ফ্যাক্টো স্ট্যান্ডার্ড) আপনি ব্যাকআপ (2. বি) তৈরি না করে বা ব্যাকআপ বাইপাস পদ্ধতি (2. সি) ব্যবহার না করে সাধারণত সহযোগিতা করবে না । জিএনইউ সংস্করণ আপনাকে এর জন্য অনুরোধ করবে না। এটি ধ্বংসাত্মকভাবে সম্পাদনা করবে এবং দ্বিধা ছাড়াই বিদ্যমান ফাইলগুলিকে ওভাররাইট করবে।
কণ্ঠস্বর

4

ইন sed -hআছে:

  -i[SUFFIX], --in-place[=SUFFIX]
             edit files in place (makes backup if SUFFIX supplied)

এবং 'নিজেই ফাইলটিতে অপারেশন করুন।' পরম এটা।

এবং manবলেছিলেন: 'সেড একজন স্ট্রিম এডিটর। স্ট্রিম এডিটরটি ইনপুট স্ট্রিমে (কোনও পাইপলাইন থেকে একটি ফাইল বা ইনপুট) মৌলিক পাঠ্য রূপান্তর করতে ব্যবহৃত হয় ''

আপনার প্রশ্ন হিসাবে,

sed -i '1d' file_name

অর্থ: স্থানে ফাইলের প্রথম লাইনটি মুছুন এবং ফাইলটিতে "file_name"ব্যাকআপ দিন। (ঠিক যেমন ফাইল সম্পাদনা করুন এবং সরাসরি প্রথম লাইনটি মুছুন))

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