한 명령의 출력을 반복하여 다른 명령에서 사용합니다.

한 명령의 출력을 반복하여 다른 명령에서 사용합니다.

한 명령줄의 출력을 한 줄씩 다른 명령에 사용하는 방법은 무엇입니까? |파이프 표기법을 사용하여 이 작업을 수행하는 방법을 알고 있지만 이는 하나의 명령으로 전체 출력을 소비합니다. 한 줄씩 하고 싶은데... and를 조합해야 할 것 같은데 |xargs모르겠습니다.

redis-cli keys \* | redis-cli get [key would go here]

답변1

이것매개변수정답은:

redis-cli keys \* | xargs -L 1 redis-cli get

답변2

각 행에 while 루프를 사용합니다.

redis-cli-keys \* | while read key; do redis-cli get "$key"; done

답변3

완전성을 위해 for루프 변형은 다음과 같습니다.

$ for key in $(redis-cli-keys \*); do redis-cli get $key; done

노트:$keys공백이 포함되지 않는 한 작동합니다.

관련 정보