I 텍스트 파일을 통해 루프 다음 bash는 코드 라인으로 라인 .. 메신저는 각 라인 작업 '접두사'을 접두사로 시도 대신에이 오류 얻고있다 : 이것은 배쉬는파일의 각 줄 시작 부분에 문자열을 어떻게 추가 할 수 있습니까?
[email protected]:~/Desktop$ ./appendToFile.sh stusers.txt kp
stusers.txt
kp
./appendToFile.sh: line 11: /bin/sed: Argument list too long
[email protected],passw0rd
입니다 스크립트 ..
#!/bin/bash
file=$1
string=$2
echo "$file"
echo "$string"
for line in `cat $file`
do
sed -e 's/^/prefix/' $line
echo "$line"
done < $file
여기서 내가 뭘 잘못하고 있니?
업데이트 : 파일의 헤드를 수행하면 모든 행이 터미널의 한 줄에 덤프됩니다 (아마도 관련이 있을까요?). 대신 루프의
[email protected]:~/Desktop$ head stusers.txt
[email protected]:~/Desktop$ ouse.com,passw0rd
에 출력을 저장하려면
당신은 아마 파일에 잘못된 줄 끝에 있습니다. 아마도 당신은'dos2unix'를 원합니다. –
@WilliamPursell 나는 파일에 대해 dos2unix를 실행하려했지만 새 라인을 삽입하지 않았고 가장 쉬운 해결책은 파일 내용을 새 파일에 복사하는 것입니다. – bobbyrne01