Как разделить поля? [closed]

Я хочу написать сценарий для разделения полей. Результат должен быть таким:

192.168.94.139  
middle of loop 

192.168.94.140  
middle of loop

В переменной $ SERVER_SELECTION есть две переменные (серверы).

Мой код,

for INPUT in $SERVER_SELECTION 
do 

    echo $INPUT | tr , '\n'
    echo "middle of loop "

done

echo "end of loop "

Как я могу изменить это, чтобы получить результат, указанный выше.

0
задан 17 December 2018 в 23:34

2 ответа

поместить IFS=',' прежде for и удалите tr команда, это должно разделить SERVER_SELECTION и INPUT будет содержать один IP сразу.

IFS=','
for INPUT in $SERVER_SELECTION 
do     
    echo $INPUT
    <path to script> $INPUT       # call other script and use INPUT as parameter
    echo "middle of loop "    
done    
echo "end of loop"

IFS поддерживает "внутреннего разделителя полей". Это используется оболочкой, чтобы определить, как сделать разделение слова, т.е. как распознать границы слова.

1
ответ дан 27 October 2019 в 00:26

Я не знаю что точно Ваша попытка сделать только просто выполнение этого:

echo "$INPUT"
echo "middle of loop "

должен привести к тому результату. Снова, возможно, a read из файла то, что Вы хотите! Затем необходимо сделать

while read -r INPUT
do 

    echo "$INPUT"
    echo "middle of loop "

done < "$SERVER_SELECTION"

echo "end of loop "
0
ответ дан 27 October 2019 в 00:26

Другие вопросы по тегам:

Похожие вопросы: