일부 정보를 파일에 쓰는 작은 bash 스크립트를 작성해야 합니다. 그러나 RTM(리디렉션 연산자)을 지원하지 않는 위치에서 스크립트가 호출됩니다. 리디렉션 연산자를 사용할 수 없기 때문입니다. 나는 비슷한 것을 시도했습니다 :
#!/bin/bash
busers_var=$(busers -w name)
sed -i 'T a/"$busers_var"' alert.out
오류가 발생합니다.
sed: can't find label for jump to `a/"$busers_var"'
또는 다음을 사용하는 경우:
sed -i "T a/$busers_var" alert.out
나는 얻다:
sed: -e expression #1, char 25: unknown command: `J'
어떤 아이디어가 있나요?
답변1
busers -w name
문제의 명령인 경우 다음을 시도하십시오 tee
.
busers -w name | tee /path/to/output
어쩌면 stderr을 추가할 수도 있습니다:
busers -w name 2>&1 | tee /path/to/output
또는 다음을 사용하십시오 ed
.
touch output; ed -s output <<< $'r !busers -w name\nwq'
또는 사용sort
"정렬된 파일 병합, 정렬 안 함" -o output
옵션과 결합:
buser -w name | sort -m -o output