저는 Linux를 처음 접했고 bash 스크립트를 사용하여 일부 출력을 수행하는 방법을 묻고 싶습니다. 이렇게 인쇄할 수 있어요
1
2
3
그런데 어떻게 이런 걸 만들 수 있지?
1,2,3
많은 웹사이트를 살펴봤지만 이 작업을 수행하는 방법에 대한 명확한 지침을 찾을 수 없는 것 같습니다.
답변1
현재 프로그램은 echo
기본적으로 작성된 텍스트와 개행 문자를 사용합니다. 줄바꿈을 피하라고 지시할 수 있지만, 애초에 줄바꿈을 쓰지 않는 도구를 사용하는 것이 더 좋습니다
#!/bin/bash
first=yes # First time through the loop
for (( i=10; i<=20; i++ )) # Loop from i=10
do
[[ -z "$first" ]] && printf ", " # Print a comma unless first time through
printf "%s" "$i" # Print the number (as a string)
first= # Not the first time through
done
printf "\n" # Final newline
원본 스크립트의 출력을 후처리할 수 있지만 원본 출력에 공백을 포함하면 쉽게 깨질 수 있습니다.
./yourscript | xargs | tr ' ' ,
일반적으로 올바른 출력을 먼저 생성하는 것이 가장 좋습니다.