আমার প্রিয় ইউনিক্স ট্রিকসগুলির মধ্যে একটি হ'ল ^x^y
এটি সর্বশেষ আদেশটি গ্রহণ করবে এবং "এক্স" এর প্রথম উদাহরণটি "y" দিয়ে প্রতিস্থাপন করবে। যাইহোক, আমি ভাবছি কি একই কৌতুকটি শেষ কমান্ডের "y" এর সাথে "x" এর সমস্ত দৃষ্টান্ত প্রতিস্থাপন করতে কাজ করে ?
আমার প্রিয় ইউনিক্স ট্রিকসগুলির মধ্যে একটি হ'ল ^x^y
এটি সর্বশেষ আদেশটি গ্রহণ করবে এবং "এক্স" এর প্রথম উদাহরণটি "y" দিয়ে প্রতিস্থাপন করবে। যাইহোক, আমি ভাবছি কি একই কৌতুকটি শেষ কমান্ডের "y" এর সাথে "x" এর সমস্ত দৃষ্টান্ত প্রতিস্থাপন করতে কাজ করে ?
উত্তর:
আপনি !!:gs/search/replace/
যা চান তা করতে আপনি স্বরলিপিটি ব্যবহার করতে পারেন। এটি বিশ্বব্যাপী অনুসন্ধান এবং প্রতিস্থাপন ( :gs
) ব্যবহার করে :
আগে
$ echo "harm warm swarm barm"
harm warm swarm barm
পরে
$ !!:gs/arm/orn/
echo "horn worn sworn born"
horn worn sworn born
[subhrcho@slc04lyo pcbpel]$ echo "hat that bat" hat that bat [subhrcho@slc04lyo pcbpel]$ !!:gs/at/xx/ echo "hxx that bat" hxx that bat
। আমি কী মিস করছি?
bash --version
= 4.2.45 (1) - দয়া করে।
আমি সেখানে একটি সহজ উপায় কিছু যোগ করতে এর বিশ্বাস করে না ^string1^string2
করতে bash
প্রতিটি ঘটনা প্রতিস্থাপন করুন। এসএমএল পয়েন্ট হিসাবে, আপনাকে লিখতে হবে !!:gs/string1/string1
।
তবে এর মধ্যে zsh
আপনি কেবল যোগ করতে পারেন :G
:
$ echo foo foo
foo foo
$ ^foo^bar^:G
echo bar bar
bar bar
উভয় bash
এবং zsh
আপনি fc -s
এই জাতীয় ব্যবহার করতে পারেন :
$ echo foo foo
foo foo
$ fc -s foo=bar
echo bar bar
bar bar
এটি প্রায়শই একটি উপনাম হিসাবে তৈরি করা হয় r
যাতে আপনি কেবল এটি করতে পারেন:
$ echo foo foo
foo foo
$ r foo=bar
echo bar bar
bar bar
আমি বিশ্বাস করি যে ": &" ব্যবহার করা সর্বোত্তম বিকল্প
$ echo "dog cat dog"
$ ^dog^cat^:&
echo "cat cat cat"
cat cat cat
:&
প্রতিস্থাপনের জন্য আরও বেশি সংখ্যক সংখ্যক সংখ্যক সংখ্যক সংখ্যক যোগ করা দরকার ।
command-history
ট্যাগটি ব্যবহার করি। যোগ করা হয়েছে। এছাড়াও, আমি ধরে নিচ্ছি আপনিbash
শেলটি উল্লেখ করছেন ?