আমি বাশ স্ক্রিপ্টিং গাইডকে হোয়াইটস্পেসযুক্ত ফাইলের সাথে কাজ করার জন্য অ্যারের ব্যবহারের পরামর্শ দিচ্ছি। ড্যাশএএসবিন্স তবে পরামর্শ দেয় যে অ্যারেগুলি পোর্টেবল নয় তাই আমি হোয়াইটস্পেস থাকতে পারে এমন ফাইলের নামের সাথে কাজ করার একটি পসিক্স অনুগত উপায়ের সন্ধান করছি।
আমি নীচের উদাহরণে স্ক্রিপ্টটি পরিবর্তন করতে দেখছি যাতে এটি হয় would echo
foo/target/a.jar
foo/target/b.jar
bar/target/lol whitespace.jar
এখানে স্ক্রিপ্ট
#!/usr/bin/env sh
INPUT="foo/target/a.jar
foo/target/b.jar
bar/target/b.jar
bar/target/lol whitespace.jar"
# this would be produced by a 'ls' command
# We can execute the ls within the script, if it helps
dostuffwith() { echo $1; };
F_LOCATIONS=$INPUT
ALL_FILES=$(for f in $F_LOCATIONS; do echo `basename $f`; done)
ALL_FILES=$(echo "$ALL_FILES" | sort | uniq)
for f in $ALL_FILES
do
fpath=$(echo "$F_LOCATIONS" | grep -m1 $f)
dostuffwith $fpath
done