txt 파일의 내용을 쉼표로 구분된 변수에 저장합니다.

txt 파일의 내용을 쉼표로 구분된 변수에 저장합니다.

안녕하세요. 키가 포함된 txt 파일이 있습니다.

a.txt:

1234
4567
4568
4564
6754
warning message
invoke from function

아래와 같이 이 파일의 내용을 변수 parm에 작성해야 합니다.

1234,4567,3456,2345

나는해야한다마지막 두줄 생략파일에도 있습니다.

답변1

GNU head또는 호환 버전을 사용하면 음수를 사용하여 파일 끝에서 지정된 수의 줄을 제거할 수 있습니다.

parm=$(head -n -2 < a.txt | paste -sd , -)

그리고 zsh:

parm=${(j:,:)"${(@f)$(<a.txt)}"[1,-3]}

(이렇게 하면 $(<a.txt)후행 줄 바꿈이 모두 제거되므로 후행 빈 줄이 제거되고 [1,-3]2개의 추가 줄이 제거됩니다.)

POSIX적으로:

parm=$(sed '$d' < a.txt | sed '$d' | paste -sd , -)

또는 다음을 사용하여 awk:

parm=$(awk 'NR>2 {printf "%s",  sep b; sep = ","}
            {b = a; a = $0}' < a.txt)

관련 정보