Linux의 출력이 다음 줄로 이동하지 않습니다.

Linux의 출력이 다음 줄로 이동하지 않습니다.

저는 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 ' ' ,

일반적으로 올바른 출력을 먼저 생성하는 것이 가장 좋습니다.

관련 정보