* নক্সে কোনও ফাইলের নাম একটি ওয়াইল্ডকার্ডের সবচেয়ে সহজ উপায় কী?


3

আমি একটি ওয়াইল্ডকার্ড ম্যাচ অংশ নিতে এবং এটি একটি regex ম্যাচ অনুরূপ ব্যবহার কিছু করতে চান। কমান্ড এই মত কিছু চেহারা হতে পারে

cat foo_* | python magic.py > magic_*

যদি আমার ফাইল নাম হয়

   foo_biz
   foo_baz

আমি আউটপুট নামে ফাইল হতে চান

   magic_biz
   magic_baz

কার্যকরভাবে থেকে ফাইলের নাম পরিবর্তন foo_*করতে magic_*

শেল কমান্ডে এটি করা সম্ভব? আমি ব্যবহার করছি bash, কিন্তু অন্যান্য শেল জন্য একটি উত্তর জরিমানা।

উত্তর:


5

যদি আপনি বুঝতে চেষ্টা করেন যে আপনি কী করার চেষ্টা করছেন তবে আপনি এটি সম্পাদন করতে পারেন তবে এটি আরও কিছু কাজ করে:

for f in foo_*; do python magic.py <"$f" >"${f/foo/magic}"; done

(দ্রষ্টব্য: আমি পুনঃনির্দেশের সাথে বিড়ালের নিরর্থক ব্যবহারকে প্রতিস্থাপিত করেছি <।)


1

গর্ডনের চমৎকার উত্তরের চেয়ে কিছুটা ভিন্ন:

foos=(foo_*)
suffixes=(${foos[@]#foo_})
for sfx in "${suffixes[@]}"; do
    python magic.py < "foo_$sfx"  > "magic_$sfx"
done

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