R에서 실행되는 더 큰 작업의 일부로 Windows에서 선택한 파일을 디렉토리간에 복사하고 싶습니다. R 내에서 cp patha/filea*.csv pathb
과 같은 명령을 내릴 수 있습니까 (와일드 카드에주의하십시오. 추가 향신료가 필요합니까)? 이 쉘에있는 것처럼R을 사용하여 파일 복사
29
A
답변
42
나는 광고가 생각하지 않는다 irect way (포위 아웃의 수줍음). 그러나 다음과 같은 것이 보통 나를 위해 일한다.
flist <- list.files("patha", "^filea.+[.]csv$", full.names = TRUE)
file.copy(flist, "pathb")
노트가 :
- 내가 의도적으로 두 단계로 분해, 그들은 결합 될 수있다.
- 정규 표현식보기 : R은 실제 정규 표현식을 사용하고 파일 패턴과 경로를 두 개의 별도 인수로 구분합니다.
- 정규 표현식에서
^
과$
(문자열 끝/끝)을주의하십시오. 이는 와일드 카드 유형 패턴에 내재되어 있기 때문에 일반적인 잡았다하지만 regexes에서 필요합니다 (와일드 카드 패턴과 일치하는 일부 파일 이름 추가 텍스트를 선택하여 시작 및/또는 종료 할 수도 있음). - Windows에서 사람들은 일반적으로
list.files
에ignore.case = TRUE
인수를 추가하여 디렉토리 검색이이 OS에서 대소 문자를 구분하지 않는다는 사실을 모방합니다. - R의
glob2rx()
함수는 와일드 카드 패턴을 정규 표현식으로 변환하는 편리한 방법을 제공합니다. 예를 들어fpattern = glob2rx('filea*.csv')
은 다른 있지만 동일한 정규식을 반환합니다.
11
당신은
- 사용
system()
포함 자신과 사본에는 파일과 일치하는 대체 (globbing)/reg.exp을 할 - 사용
list.files()
일명dir()
글 로빙 명령을 발사 할 수 있습니다 개별적으로 - 개별 파일에 사용
file.copy
MJV의 대답과 같이
+0
'dir'을 들어 본 적이 없습니다. 그것은 정확히'list.files'와 정확히 일치합니다 ... 두 가지 모두 이상한 것 같습니다 – MichaelChirico
관련 문제
- 1. R을 사용하여 grib 파일 열기
- 2. R을 사용하여 지정된 확장자가있는 모든 파일 나열
- 3. 스프링 통합을 사용하여 파일 복사
- 4. sed를 사용하여 파일 내용 복사
- 5. JNI를 사용하여 Java 파일 복사
- 6. 복사 파일
- 7. R을 사용하여 파일 인코딩을 변환 하시겠습니까? (ANSI to UTF-8)
- 8. Jenkins의 변경된 파일 복사
- 9. C에서 cmd를 사용하여 다른 컴퓨터에 파일 복사 #
- 10. vb.net을 사용하여 Windows XP에서 Linux로 파일 복사
- 11. 명령 줄에서 URL을 사용하여 파일 복사
- 12. C++에서 widestring 경로를 사용하여 파일 복사
- 13. Python을 사용하여 여러 파일 제거/복사
- 14. 파이썬을 사용하여 창에서 잠긴 dbf 파일 복사
- 15. Java에서 파일 복사
- 16. 높은 권한으로 파일 복사
- 17. Ruby에서 사용중인 파일 복사
- 18. .NET에서의 원자 파일 복사
- 19. 파일 보안 권한 복사
- 20. K & R을 시작하는 초심자
- 21. R을 사용하여 비 html 웹 사이트 스크랩하기?
- 22. R을 사용하여 시간 산점도를 만드는 방법은 무엇입니까?
- 23. R을 사용하여 R로 점을 그릴 때
- 24. ESS/R을 사용하여 R 코드 리팩토링
- 25. Apply (?)를 사용하여 R을 사용하는 루프 방지
- 26. R을 사용하여 3D로 농도 집합을 그리는 방법?
- 27. R을 사용하여 2 열의 중앙값을 어떻게 구합니까?
- 28. R을 사용하여 Wikipedia 기사의 데이터베이스를 분석하는 방법?
- 29. xcode를 사용하여 C (K & R을 통해) 학습
- 30. R을 사용하여 블로그 간 링크 네트워크 매핑?
패턴은''^ filea. + [.] csv "'이어야합니다. – Marek
@Marek : 맞습니다! 또한, 특히 Windows 환경에서 peopole은 일반적으로 인수 ignore.case = TRUE를 추가하려고합니다. 나는 그에 따라 적절하게 편집했다. – mjv
? glob2rx를 사용하여 와일드 카드를 정규식으로 변환 할 수 있습니다. –