tsort
입력은 다음과 같이 제공될 수 있습니다:
$ tsort <<EOF
a b c
b c d e
EOF
입력으로 두 개의 파일이 있는 경우
a
b
c
그리고
b
c
d
e
bash에서 이 두 파일을 입력으로 제공하려면 어떻게 해야 합니까 tsort
? 감사해요.
답변1
각 파일의 모든 항목을 한 줄에 입력해야 합니다.
따옴표가 없는 따옴표를 사용하면 이 작업을 수행할 수 있습니다. 이 따옴표 는 공백(줄 바꿈 포함)으로 분할되며 인수를 한 줄로 인쇄하는 데 $(...)
사용할 수 있습니다 .echo
이것은 작동합니다:
{ echo $(cat file1)
echo $(cat file2)
} | tsort
그러면 예제와 동일한 출력이 생성됩니다.
고쳐 쓰다:tsort에 대한 입력은 공백으로 인해 손상되므로 각 파일의 내용을 한 줄에 유지하는 것은 중요하지 않습니다.
이 경우에는 이것으로 충분합니다:
cat file1 file2 | tsort
귀하의 예에서는 실제로 쌍이 많지 않지만 file1에 홀수 개의 항목이 있습니다. ~처럼당신은 알아차렸어요, 이는 tsort의 문제입니다.