2011-08-19 2 views
0

현재 Windows를 사용하고 있습니다.특정 파일 (Windows 또는 Linux)에 이러한 작업을 추가하는 스크립트를 만드는 가장 간단한 방법은 무엇입니까?

특정 파일을 열고 문자열을 추가하는 스크립트가 필요합니다. 문자열 자체에는 5 - 10 개의 행이 있습니다.

추가 된 문자열은 주어진 스크립트 인수에 따라 달라집니다. 문자열의 일부는 인수이며 다른 일부는 정적입니다.

Windows에서 .bat 파일을 사용하여이 작업을 시도했지만 작업에 적합한 것처럼 느껴지지 않았습니다. 너무 복잡해 보였다.

Linux에서 더 쉽게 할 수 있습니까? 아니면 Windows에서 실용적인가요? 운영 체제가 비슷한 것을 만들 수있는 간단한 방법을 제공하지 않기 때문에 그러한 간단한 작업을 위해 C/C++ 프로그램을 작성하고 싶지 않습니다.

기본적으로 나는 (Windows 및 Linux에서) 사용해야하는 도구와 Windows 또는 Linux에서 빌드하기가 더 쉬운 지 여부를 알고 싶습니다.

답변

2

Windows에서 cygwin을 사용하고 Ernest가 말한 것처럼 cygwin 셸을 통해 실행하십시오. 박쥐 파일은 끔찍합니다. Linux IMO는 Windows보다 훨씬 똑똑하고 효율적입니다. 전환해야하지만 실제로 Windows에 고정해야하는 경우 cygwin을 설치하십시오.

1

음, UNIX 쉘 (리눅스, 맥 OS X)에서 당신은

echo $THE_STRING >> /the/file 

이 파일의 끝에 변수 THE_STRING의 내용을 추가 할 수 말할 수 있습니다. 그것보다 훨씬 쉽게 얻을 수 없습니다.

+0

Windows는 어떻습니까? 박쥐 파일이 올바른 방법이 아닌가요? 나는 지금까지 cmd를 사용했다. 나는 파워 쉘을 시험해 볼 것 같아. 그게 작동하지 않으면, 리눅스로 전환 할 것입니다 ... – Tool

+0

@ ennuikiller 님의 Ruby, Python 또는 Perl 제안은 훌륭한 것입니다. 이 모든 것은 크로스 플랫폼에서 사용할 수 있습니다. –

0

Ruby와 Perl이 즉시이를 염두에두고 있습니다. Linux에서 이것은 Ernest가 지적한 것처럼 사소한 한 줄짜리 프로그램입니다. 나는 이것을하기 위해 powershell과 비슷한 것이 있다고 확신한다.

0

PowerShell은 좋은 해결책처럼 들린다 - 그것은 단순한 형태의 지역 :

$string = @" 
line 1 
line 2 
line 3 
line 4 
line 5 
"@ 

$filename = c:\test.txt 

Add-Content $filename $string 

당신이에서 추가 할 내용을 얻을 수 있습니다 :

Add-Content path_to_file "Content to add" 

은 당신이 할 수있는 여러 줄 문자열을 추가하려면 파일뿐만 아니라

$text_to_append = Get-Content C:\my_text_to_append.txt 
Add-Content $filename $text_to_append 

사용하거나 파이프 라인 :

Get-Content C:\my_text_to_append.txt | Add-Content $filename 

인코딩에주의하십시오. ANSI와 잘 작동합니다 - 유니 코드가 재미있을 수 있습니다.

+0

BTW, PowerShell은 기본적으로 새 버전의 Windows OS에 설치되며 이전 버전에 설치할 수 있습니다 – Matt

관련 문제