বাশ: শেষ কমান্ডের শব্দের সমস্ত উপস্থিতি প্রতিস্থাপন করুন


14

প্রায় ভুল করেই, আমি বুঝতে পারি যে আপনি এরকম কিছু করতে পারেন:

$ cp foo.data bar1.data
$ ^bar1^bar2

এবং এর bar2.dataপরিবর্তে একই কমান্ড চালায় bar1.data। এখন, যদি আমার লক্ষ্য শব্দটির একাধিক উপস্থিতি থাকে তবে কীভাবে? উদাহরণ স্বরূপ:

$ cp foo.data bar.data
$ ^data^index

এটি কেবলমাত্র প্রথম dataএক্সটেনশানটি প্রতিস্থাপন করে । আমি কীভাবে এটি উভয়কে প্রতিস্থাপন করতে পারি?

উত্তর:


22

আমি মনে করি এটির ^data^indexসমতুল্য !!:s/data/index, সুতরাং এটি কেবল প্রথম শব্দের পরিবর্তিত হবে। আপনি যদি পুরো লাইনটি প্রতিস্থাপন করতে চান তবে আমার মনে হয় আপনাকে ব্যবহার করতে হবে!!:gs/data/index/


এই প্রতিস্থাপন (: জিএস / ডেটা / সূচক) বাশ বৈশিষ্ট্য বা এটি স্পষ্টভাবে অন্য কোনও প্রোগ্রামকে কল করছে?
জনআর্টুগো


7

আপনি শেষ পর্যন্ত ^: যোগ করে এটি করতে পারেন।
।: & দুটি ঘটনাকে
প্রতিস্থাপন করবে g: ছ & সমস্ত প্রতিস্থাপন করবে

$ সিপি foo.data বার.ডাটা
^ ^ ডেটা ^ সূচক ^: &
p সিপি foo.index বার.ইন্ডেক্স
$ সিপি foo.data বার.ডাটা জো.ডাটা doe.data
^ ^ ডেটা ^ সূচক ^: ছ &
p সিপি foo.index বার.আইন্ডেক্স joe.index doe.index

sidenote: 'কমান্ড লাইন কুংফু' বইয়ে
বলা হয়েছে যে ^: & সমস্ত প্রতিস্থাপন করবে


1
আসলে, দুইবার^:& প্রতিস্থাপন করতে হবে । এটা করার জন্য সব ঘটনার, ব্যবহার ( "বিশ্বব্যাপী" ঘোরা)। ^:g&g
জি-ম্যান

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