2012-07-24 3 views
1

텍스트 문서의 내용을보고 각 줄의 시작 부분에 텍스트를 추가하는 빠른 방법을 찾고 있습니다. 모든 행은 처음부터 같은 텍스트를 얻습니다. 이 작업을 수행하기위한 쉬운 스크립트 일 수 있습니다. 어떤 아이디어 나 제안. 감사합니다텍스트 문서의 내용을보고 각 줄의 시작 부분에 텍스트를 추가하는 스크립트

+0

좀 더 자세한 정보를 참조하십시오. 스크립트 란 무엇을 의미합니까? 그것은 bash입니까? 유닉스 binutils를 스크립팅에 사용할 수 있습니까? 그것은 파이썬/PHP/펄과 크로스 플랫폼이어야 하는가? – inVader

+0

나는 수백 줄의 텍스트 파일을 가지고있다. 각 줄의 시작 부분에 텍스트를 삽입해야합니다. 수동으로 각 행을 수행 할 필요없이 텍스트 문서 내의 각 행에이 텍스트를 추가하는 방법을 찾으려합니다. –

+0

아래 답변이 도움이됩니까? 그렇지 않은 경우 실행중인 OS는 무엇이며 사용 가능한 도구는 무엇입니까? SED는 대부분의 Linux 배포판에서 표준이되어야하지만 Win 용으로도 얻을 수 있습니다. – inVader

답변

2

파일 또는 표준에서 읽을 수있는 sed (스트림 편집기)를 사용하는 것이 쉬운 방법 중 하나입니다. 이는 한 줄 단위로 수행되며 전체 파일이나 특정 하위 범위에 대해 콘텐츠의 수정을 적용 할 수 있습니다. 이것은 당신이 원하는 것 무엇 :

sed -i 's/^/TEXT/' FILENAME 

-i 옵션은 직접 대신 stdout으로가는 파일에 쓰여 의미 "대신에"파일을 편집 나오지도 알려줍니다. 원본 파일을 덮어 씁니다. 원본 데이터를 그대로 유지하려면이 옵션을 무시하고 > NEWFILE을 위의 명령 줄에 추가하여 출력을 다른 파일로 파이프하십시오.

sed의 s 명령은 검색/대체입니다. 각 줄에서 첫 번째 패턴의 첫 번째 패턴을 두 번째 패턴으로 바꿉니다. 끝 부분에 g을 추가하여 모든 행의 첫 번째 패턴이 나타날 때마다 바꿀 수 있습니다. 그러나 행의 시작과 일치하므로 여기서는 그다지 유용하지 않습니다.

첫 번째 패턴은 ^이며 정규 표현식에서 줄의 시작을 의미하는 예약 문자입니다. 따라서 다른 텍스트가 나타나기 전에 두 번째 패턴 TEXT이 추가됩니다.

물론 많은 파일을 일괄 처리해야하는 경우 스크립트에서 호출 할 수 있습니다. 희망이 도움이됩니다.

0

만약 당신이 간단하고 간단한 파이썬 스크립트를 작성할 수 plattform 교차하게하고 싶지.

inputFile = open("fileNameInput") 
outputFile = open("fileNameOutput", "w") 

for inputLine in inputFile: 
    outputFile.write("your text" + inputLine + "\n") 

inputFile.close() 
outputFile.close() 
0

VB 스크립트에서도 쉽게 수행 할 수 있습니다. 네이티브 Windows 솔루션을 찾고 있다면이 작은 스크립트 스 니펫을 사용하십시오.

Set FSO = CreateObject("Scripting.FileSystemObject") 

Set inputFile = FSO.OpenTextFile("inputFilePath", ForReading) 
Set outputFile = FSO.OpenTextFile("outputFilePath", ForWriting) 

Do Until inputFile.AtEndOfStream 

     outputFile.Write("Your Text" & inputFile.ReadLine) 

Loop 

inputFile.Close 
outputFile.Close 
관련 문제