Как сопоставить текст между строкой и пробелом

На основе VSFTPD 553 error: could not create file on AskUbuntu я исправил это, изменив владельца корневого каталога (/srv/) на FTP-пользователя ftp:

docker run …
docker exec mock_ftp_server chown ftp:ftp -R /srv/
curl …

Я жду информации о безопасности для этого решения.

1
05.12.2016, 13:12
3 ответа
using sed -

echo "abcd 1234 -type 53 efgh 5678" |sed -r 's/^.*-type\s+([0-9]+).*$/\1/'
53

замените используемую здесь строку на $ line и назначьте переменной

1
27.01.2020, 23:46
#!/bin/bash
FILE=$1
while read line; do
type_number=`echo $line |awk '{for(i=1;i<=NF;i++){if($i=="-type")print $(i+1)}}'`
#here you can use your $type_number
done < $FILE
0
27.01.2020, 23:46
#!/bin/bash
FILE=$1
while read line; do
number=$(echo "${line}" | awk 'gsub(" *","")$0~/type/{getline;print;exit}' RS=" ")
echo "${number}"
done < ${FILE}
0
27.01.2020, 23:46

Теги

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