পাঠ্য ফাইল থেকে ব্যাকস্ল্যাশযুক্ত সমস্ত লাইন মুছুন


8

আমার কাছে একটি ফাইল রয়েছে যা এর মতো সামগ্রী রয়েছে:

apple
b\all
cat
\34
egg

আমি ব্যাকস্ল্যাশযুক্ত সমস্ত লাইন মুছে ফেলতে চাই। আমি ব্যবহার করার চেষ্টা করেছি

sed '/\/d' pdataf.txt

তবে এটি কার্যকর হয়নি। আমার কি চেষ্টা করা উচিত?

উত্তর:


10

আপনাকে কেবল ব্যাকস্ল্যাশ থেকে বাঁচতে হবে (পালাতে হবে!)

$ sed '/\\/d' pdataf.txt
apple
cat
egg

8

grep, সমস্ত লাইন মুদ্রণ যা নেই \:

grep -v '\\' pdataf.txt

একইভাবে awk:

awk '!/\\/' pdataf.txt

1

এটিকে প্রতিস্থাপন করার জন্য আপনাকে ব্যাকস্ল্যাশ (পলায়ন চরিত্র) এড়াতে হবে। এবং যদি আপনার শেডের সংস্করণ এটি সমর্থন করে তবে -i (ইন-প্লেস) বিকল্পটি আপনাকে একটি মধ্যবর্তী ফাইল সরবরাহ না করেই আপনার ফাইলটিতে সম্পাদনা করবে। এছাড়াও, যদি আপনি -i বিকল্পটি ব্যবহার করেন তবে নোট করুন যে এটি একটি (প্রস্তাবিত!) ব্যাকআপ ফাইল এক্সটেনশন গ্রহণ করে, তবে আপনি যদি এটি সরবরাহ না করেন তবে আপনার সেড কমান্ডের আগে -e-র সাথে আপনি যে সেডটি ব্যবহার করছেন না তা অবহিত করতে দরকারী একটি ব্যাকআপ ফাইল এক্সটেনশন।

সবগুলোকে একত্রে রাখ:

# Run sed to remove lines with backslash in them

$ sed -i -e '/\\/d' pdataf.txt

# Cat your file to confirm edits

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