IT

stdin과 SSL을 연결하는 방법은 무엇입니까?

lottoking 2020. 8. 29. 21:36
반응형

stdin과 SSL을 연결하는 방법은 무엇입니까?


stdin을 공유에 연결하는 방법은 무엇입니까?

echo "input" | COMMAND "string"

그리고 얻다

inputstring

A는 해키 비트, 그러나 이것은 당신이 질문 (수용 파이프를 사용에 무엇을 요구할 수있는 가장 짧은 방법이 될 수도 stdout에서 echo "input"와 같은 stdin다른 프로세스 / 명령 :

echo "input" | awk '{print $1"string"}'

다수 :

inputstring

정확히 어떤 작업을 수행하고 있습니까? 더 많은 것들이 더 나은 솔루션에 대한 더 많은 방향을 얻을 수 있습니다.

업데이트-댓글에 응답 :

뿡 빵뀨

당신이 원하는 것을 더 관용적 인 방법은 다음과 같다 :

echo 'http://dx.doi.org/'"$(pbpaste)"

$(...)구문라고 명령 대체 . 간단히 말해, 새 서브 쉘에 포함 된 명령을 실행하고 stdout출력을 $(...)상위 쉘에서 호출 된 위치로 대체합니다 . 실제로 다음을 얻을 수 있습니다.

echo 'http://dx.doi.org/'"rsif.2012.0125"

cat -stdin에서 읽는 데 사용 $()하고 후행 개행을 버리기 위해 제안십시오.

echo input | COMMAND "$(cat -)string"

그러나 파이프를 버리고 명령 대체에서 필요한 출력을 가져 오지 않는 이유는 무엇입니까?

COMMAND "$(echo input)string"

나는 종종 파이프를 사용하기 때문에 접두사와 접미사를 쉽게 접할 수있는 방법입니다.

echo -n "my standard in" | cat <(echo -n "prefix... ") - <(echo " ...suffix")
prefix... my standard in ...suffix

sed로 할 수 있습니다.

seq 5 | sed '$a\6'
seq 5 | sed '$ s/.*/\0 6/'

귀하의 예에서 :

echo input | sed 's/.*/\0string/'

이를 수행하는 몇 가지 방법이 있습니다. 개인적으로 가장 좋은 방법은 다음과 가변적입니다.

echo input | while read line; do echo $line string; done

또 다른 방법은 명령에서 "$"(줄 끝 문자)를 "문자열"로 대체하는 것입니다.

echo input | sed "s/$/ string/g"

내가 전자를 선호하는 이유는 무엇입니까? 예를 들어 다음 명령을 사용하여 표준을 즉시 연결하기 때문입니다.

(echo input_one ;sleep 5; echo input_two ) | while read line; do echo $line string; done

즉시 첫 번째 출력을 얻습니다.

input_one string

5 초 후에 다른 에코가 나타납니다.

input_two string

반면에 "sed"를 사용하면 먼저 괄호의 모든 내용을 수행 한 다음 "sed"에 제공 명령 명령은

(echo input_one ;sleep 5; echo input_two ) | sed "s/$/ string/g"

두 줄을 모두 출력합니다.

input_one string
input_two string

5 초 후.

이는 완료하는 데 오랜 시간이 있던 함수 호출을 수행하고 함수 출력에 유용하게 업데이트하려는 경우에 매우 할 수 있습니다.


xargs -J 옵션을 사용하면 작업을 수행 할 수 있습니다.

echo "input" | xargs -J "%" echo "%" "string"

때문에 그리고이 있다 xargs를를을 한 번에 파일의 여러 줄 에이 작업을 수행 할 수 있습니다 . 파일 'names'에 다음과 같이 세 줄이있는 경우 :

Adam
Bob
Charlie

다음과 같이 할 수 있습니다.

cat names | xargs -n 1 -J "%" echo "I like" "%" "because he is nice"

게시 한 명령은 "input"문자열을 COMMAND의 stdin 스트림으로 사용하여 COMMAND가 먼저 stdin의 내용을 인쇄 한 다음 명령 줄 인수를 인쇄하지 않는 한 찾고있는 결과를 생성하지 않습니다.

당신이 원하는 것은 명령 대체에 더 가까운 것 같습니다.

http://www.gnu.org/software/bash/manual/html_node/Command-Substitution.html#Command-Substitution

명령 대체를 사용하면 다음과 같은 명령 줄을 사용할 수 있습니다.

echo input `COMMAND "string"`

이것은 먼저 "문자열"을 입력으로 사용하여 COMMAND를 평가 한 다음 해당 명령 실행 결과를 한 줄로 확장하여 '`'문자 사이의 내용을 대체합니다.


고양이는 내 선택이 될 것입니다. ls | cat - <(echo new line)


또한 작동합니다 :

seq -w 0 100 | xargs -I {} echo "string "{}

다음과 같은 문자열을 생성합니다.

string 000
string 001
string 002
string 003
string 004

...

참고 URL : https://stackoverflow.com/questions/13884108/how-to-concatenate-stdin-and-a-string

반응형