
파일의 첫 번째 줄에 명령 출력을 삽입하려고 합니다.
예를 들어, "list.txt"라는 파일이 있고 해당 폴더에 있는 모든 파일 이름이 포함된 텍스트를 삽입하려고 합니다. ls
명령의 출력을 list.txt의 첫 번째 줄로 보내는 방법입니다 .
답변1
대부분의 사람들은 sed를 검색 및 정규식 기반 검색 및 보충 도구로 알고 있지만 이는 편집이 가능한 완전한 편집기입니다.
그래서 이런 명령을 내릴 수 있습니다. 1 i
ls 명령의 첫 번째 줄을 파일 $(ls| head -1)
에 삽입합니다( ).list.txt
제자리에( -i
).
sed -i "1 i$(ls| head -1)" list.txt
답변2
파일의 첫 번째 줄로 리디렉션하는 기본 방법은 없지만 임시 파일을 사용하여 이를 달성할 수 있습니다. 예를 들어, 먼저 출력을 에 추가한 list2.txt
다음 list.txt
여기에 추가하고 전체 출력을 다시 다음에 씁니다 list.txt
.
ls > list2.txt
cat list.txt >> list2.txt
mv list2.txt list.txt
그렇게 하면 당신이 찾고 있는 것을 얻게 될 것입니다.
답변3
이를 수행하는 더 우아한 방법이 있을 수 있지만 여러 파일을 사용할 수도 있습니다. 예를 들어:
ls | head -n 1 > temp-list.txt
cat list.txt >> temp-list.txt
mv temp-list.txt list.txt