while read
লুপ ব্যবহার করুন :
: > another_file ## Truncate file.
while IFS= read -r LINE; do
command --option "$LINE" >> another_file
done < file
অন্যটি হ'ল ব্লক দ্বারা আউটপুট পুনর্নির্দেশ:
while IFS= read -r LINE; do
command --option "$LINE"
done < file > another_file
সর্বশেষে ফাইলটি খুলতে হবে:
exec 4> another_file
while IFS= read -r LINE; do
command --option "$LINE" >&4
echo xyz ## Another optional command that sends output to stdout.
done < file
কমান্ড এক ইনপুট সার্চ পারেন, এটি একটি ভাল ধারণা ইনপুট জন্য অন্য FD ব্যবহার করতে যাতে কমান্ড তা খেয়ে জোড়া হবে না (এখানে অভিমানী হবে ksh
, zsh
বা bash
জন্য -u 3
, ব্যবহার <&3
পরিবর্তে portably):
while IFS= read -ru 3 LINE; do
...
done 3< file
শেষ পর্যন্ত আর্গুমেন্ট গ্রহণ করতে, আপনি এটি করতে পারেন:
#!/bin/bash
FILE=$1
ANOTHER_FILE=$2
exec 4> "$ANOTHER_FILE"
while IFS= read -ru 3 LINE; do
command --option "$LINE" >&4
done 3< "$FILE"
কোনটি এটি হিসাবে চালাতে পারে:
bash script.sh file another_file
অতিরিক্ত ধারণা। সহ bash
, ব্যবহার করুন readarray
:
readarray -t LINES < "$FILE"
for LINE in "${LINES[@]}"; do
...
done
দ্রষ্টব্য: IFS=
আপনি যদি শীর্ষস্থানীয় এবং অনুসরণের জায়গাগুলি ছাঁটাই করে রেখার মানগুলি মানা না করেন তবে বাদ দেওয়া যেতে পারে।
<file xargs -L 1 -I{} command --option {} other args