여러 텍스트 파일(__+ 파일 이름_)을 단일 텍스트 파일로 결합

여러 텍스트 파일(__+ 파일 이름_)을 단일 텍스트 파일로 결합

소수의 텍스트 파일을 제목(편집: 파일 이름)과 결합하고 싶습니다. 이상적으로는

* a filename 
contents of file
... 
* another filename 
contents of file 
... 

etc... 

저는 Windows(DOS가 아님)에 있지만 powershell, pandoc, emacs, cygwin 또는 기타 추천하는 모든 항목에 액세스할 수 있습니다. (분명히 저는 조직 모드를 시도하는 초보자입니다.)

한 폴더에 모두 쉽게 넣을 수 있습니다. 하지만 각 파일의 이름을 입력하는 것은 피하고 싶습니다. bat 파일이 추천된다면 한번도 사용해본 적은 없지만 배울 의향이 있습니다.

답변1

더 영리한 것이 있다고 확신하지만 여기에 모든 파일을 결합하는 powershell 스크립트가 있습니다.

$files = (dir *.txt)
$outfile = "out.txt"

$files | %{
    $_.FullName | Add-Content $outfile
    Get-Content $_.FullName | Add-Content $outfile
}

효율적인가요? 별로는 아니지만... 조금이라도 효과가 있을 것입니다.

답변2

Mitch의 스크립트 구조에 영감을 받아 GNU/Linux 및 OS X와 ​​같은 Unix 기반 환경용 버전을 작성했습니다.

find -regex '.*\.\(docx?\|org\|rtf\|te?xt\)$' | while read file
do
    echo "* $file" >> target-file.org
    cat "$file" | pandoc -t org >> target-file.org
done

(설치하지 않으려면 pandoc파이프와 명령을 제거하면 됩니다 | pandoc -t org.)

.docx이 스크립트는 현재 디렉터리와 해당 하위 디렉터리에서 설명된 파일 확장자( , 등)를 가진 모든 파일을 찾습니다 .

예를 들어 목록에 fileA.textfileB.rtf하위 디렉토리에 이 subd/포함 되어 있으면 targetfile.org다음과 같은 줄을 받게 됩니다.

* ./subd/fileA.text
<fileA's contents converted to an org file by pandoc>
* ./subd/fileB.rtf
<fileB's contents converted to an org file by pandoc>

나는 이것이 target-file.org스크립트를 너무 복잡하게 하지 않고도 Emacs 내에서 개선하기에 꽤 좋은 상태가 될 것이라고 생각합니다. (특히 단계를 포함하는 경우 pandoc)

관련 정보