2017-12-07 10 views
1
while 
    read -r line 
     do 
      readlink -f $line > a.txt 
done < $1 

나는 $ 1에 의해 전달 된 30 개의 기호 경로를 포함하는 파일을 가지고 있습니다. 이 파일을 한 줄씩 읽고 싶고 각 경로의 결과를 a.txt 파일에 저장하려고합니다. 문제는 $ 1에서 언급 한 마지막 경로 이름 만 사용한다는 것입니다. 무시 무시한 상위 29 행. 왜?readlink는 파일에 언급 된 경로 이름을 취할 수 없습니다.

답변

1

변경

readlink -f $line > a.txt 

readlink -f "$line" >> a.txt 

다음 >>

에 파일을 추가하거나 존재하지 않는 경우 파일을 만듭니다.

> 파일이 있으면 덮어 쓰거나 없으면 파일을 만듭니다.

https://serverfault.com/a/196735

+0

감사합니다 선생님. 그것은 일했다 !!! 정말 고맙습니다. :) 나는 당신에게 평판을주고 싶지만 기울이지 않는다. :( – Pompy

+0

또는 더 나은 아직 리디렉션 루프'done> a.txt' – tripleee

+0

... 넣고 견적을 수정하십시오. https://stackoverflow.com/questions/10067266/when-to-wrap-quotes-around- a-shell-variable – tripleee