পাওয়ারশেলের সাহায্যে বিদ্যমান সামগ্রী সম্পাদনা করুন


0

আমি জানি এটি একটি মূর্খ গুগল প্রশ্ন, কিন্তু আমি আমার প্রয়োজনের জন্য খুব সহজ কিছু পাইনি।

নিম্নলিখিত কন্টেন্ট সহ আমার কাছে একটি টেক্সট ফাইল রয়েছে:

hostname [ip] 
exec /bin/bash

এখন, প্রতিবার যখনই আমি একটি নির্দিষ্ট পিএস স্ক্রিপ্টটি চালিত করি (আরআরইউন থেকে) আমি চাই যে [আইপি] আমার gs আরোগুলি অনুসারে পরিবর্তিত হবে [0]

উদাহরণ স্বরূপ:

.txt এখন:

hostname 1.1.1.1 
exec /bin/bash

আমি রান থেকে চালাচ্ছি script 2.2.2.2

.txt প্রত্যাশিত:

hostname 2.2.2.2
exec /bin/bash

বিঃদ্রঃ! পুরো বিষয়বস্তু সর্বদা একই থাকবে, কেবল [আইপি] পরিবর্তন হবে।

আমি সবচেয়ে সহজ প্রতিস্থাপন সমাধান খুঁজছি, ধন্যবাদ :)

উত্তর:


1

আপনার প্রশ্নটি বেশ বিস্তৃত, এবং আমি একটি সম্পূর্ণ স্ক্রিপ্ট লিখতে চাই না, তাই আমি কেবল এর মূল অংশটির উত্তর দেব।

"1.1.1.1" দিয়ে একটি ফাইলে "[আইপি]" প্রতিস্থাপন করতে:

gc input_file.txt | % { $_ -replace '\[ip\]', '1.1.1.1' } | sc output_file.txt

আপনি যদি মূল ফাইলটি ওভাররাইট করতে চান তবে আপনাকে প্রথম বিবৃতিটির চারপাশে প্রথম বন্ধনী স্থাপন করা দরকার যাতে এটি পুরো ফাইলটিকে শুরুতে মেমরিতে লোড করে দেয়:

(gc my_file.txt) | % { $_ -replace '\[ip\]', '1.1.1.1' } | sc my_file.txt

gcজন্য সংক্ষিপ্ত Get-Content, scহয় Set-Content, এবং %হয় ForEach-Object

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