VBScript ক্যারেজ রিটার্নস


0

লিনাক্স মেশিনে উইন এক্সপি থেকে কমান্ড চালানোর জন্য এবং আউটপুট কমান্ডটি out.txt ফাইলে পুনঃনির্দেশিত করতে নিম্নলিখিত ভিবি স্ক্রিপ্টটি লিখুন (C: \ এর অধীনে)

আমার ভিবি স্ক্রিপ্ট আমি / etc / hosts ফাইলটি লিনাক্স মেশিন থেকে আউট.txt ফাইলে প্রিন্ট করি

স্ক্রিপ্ট জরিমানা কাজ করে কিন্তু আমার একটি সমস্যা আছে:

/ etc / hosts ফাইলটি তিনটি লাইনের পরিবর্তে, একটি দীর্ঘ লাইন সহ out.txt ফাইলে মুদ্রিত হয়েছিল

উদাহরণ: (out.txt)

         127.0.0.1      localhost  19.20.183.99  MY_IP 10.10.10.10 LOOP

Out.txt মধ্যে নিম্নলিখিত হোস্ট ফাইল মুদ্রণ করার জন্য

127.0.0.1      localhost
19.20.183.99  MY_IP
10.10.10.10 LOOP

আমার ভিবি স্ক্রিপ্ট

Const TARGET_HOST = "19.20.183.99"
const PATH =  "cat /etc/hosts" 
const LOGIN = "root"
const PASS = " dgdgd "
Const PLINKPATH="""C:\dir1\plink.exe"""
Set Sh = CreateObject("WScript.Shell")

CMD = " echo y | " &   PLINKPATH  & " -ssh -pw " & PASS & LOGIN & "@" & TARGET_HOST & " " & PATH 

Sh.Run "cmd /k" & CMD &  " > ""C:\out.txt""" , 1, True

সঠিক হোস্ট ফাইল (লাইন দ্বারা লাইন) মুদ্রণ করতে এবং আমার লম্বা লাইন হিসাবে না কেন আমার ভিবি স্ক্রিপ্টে কী সংশোধন করতে হবে তা দয়া করে উপদেশ দিন?


আপনি সত্যিই জিনিসগুলির সমস্যা সমাধান করতে চান তবে আপনি দেখতে পাবেন যে একটি অক্ষর এবং একটি লিনাক্সে একটি নতুন লাইন, একটি ফাইলের চেয়ে ছোট এবং উইন্ডোতে একটি নতুন লাইনের চেয়ে ছোট। আসলে যদি উইন্ডোতে আপনি একটি ফাইল> ফাইল 1 টি ইকো করেন তবে আপনি ফাইলটি 3 বাইট দেখতে পান এবং আপনি প্রশ্ন করতে পারেন- কেন। এবং কেন খুঁজে বের করতে। সিআরএলএফ ব্যবহার করে উইন্ডোজ অত্যন্ত সুপরিচিত। আপনি যদি কখনও ক্যারিয়ার রিটার্ন সম্পর্কে পড়েন তবে সম্ভবত জানবেন উইন্ডোজ এটি ব্যবহার করে এবং লিনাক্স কেবল LF ব্যবহার করে। আমি মনে করি যে এক ডজন যে বার ডজন মধ্যে চালানো উচিত।
বার্লপ

উত্তর:


0

লিনাক্স সিস্টেম লাইন বিরতির জন্য লাইন ফিড ব্যবহার করে, যখন উইন্ডোজ ক্যারেজ রিটার্ন + লাইন ফিড ব্যবহার করে। http://en.wikipedia.org/wiki/Newline

আপনার ক্ষেত্রে, আমি সিএলএলএফ এর সাথে এলএফ এর প্রতিস্থাপন করার জন্য, প্যাডএর মাধ্যমে চালাব

Const PATH = cat /etc/hosts | sed -e 's/$/\r/' 

http://en.wikipedia.org/wiki/Unix2dos


আমি তার পুরো প্রশ্নটি পড়িনি, এবং এটি হতাশাজনক যে একজন ব্যক্তি (প্রশ্নকারী স্পষ্টতই) ভিবিএসপি এবং হোস্ট ফাইলটি লিনাক্সে থাকতে পারে এবং লিনক্সে উইন্ডোজ এবং LF এ CRLF সম্পর্কে জানেন না। কিন্তু যাইহোক, আপনি লিখুন "এলএফ এর CRLF এর সাথে প্রতিস্থাপন করুন" তারপর আপনি লিখবেন '/ $ / \ r /' এই প্রতিস্থাপনটি কী ব্যবহার করবে - আপনি শেষ পর্যন্ত CR কে বলছেন। যে কোনো অপারেটিং সিস্টেম দ্বারা ব্যবহার করা হয় না। এটি হয় \ r \ n (CRLF) বা এটি \ n (LF)। কখনও শুধু \ r (সিআর)। এবং আপনার sed প্রতিস্থাপন শুধু একটি সিআর রাখে।
বার্লপ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.