2012-10-01 2 views
0

한 디렉토리에서 다른 디렉토리로 파일을 복사해야합니다. (분명히 :) :)하지만 대상 경로로 복사 된 파일 목록을 저장하고 싶습니다. 그래서 내가 가진 가정 해 봅시다 : 을/mnt/A/F1 을/mnt/A/F2복사 된 파일을 bash에 나열하십시오.

및 I '는'내가 너무 뿌리에서 모든 파일을 복사 할 : CP에서 cp -rv /mnt/a/* /

출력을 나는 모양을 갖게됩니다

`/mnt/a/f1` -> `/f1`

`/mnt/a/f2` -> `/f2`

지금은 일부 파일 목록에 저장하려는 그런 것 같습니다

/f1

/f2

누군가 이러한 출력을 어떻게 얻을 수 있는지 알고 있습니까?

답변

4
cp -rv /mnt/a/*/2>&1 | cut -d\` -f4 | tee thefile.txt 

이와 비슷한 (테스트되지 않은) 것입니다.

+0

좋아요! 감사! 거의 잘 작동, 잘못된 출력 형식을 넣어 (cp) 그래서 여기 약간 수정 된 솔루션 : cp -rv mnt/a// 2> & 1 | cut -d \'-f3 | cut -d \ '-f1 | tee thefile.txt – tomekK

+0

아, 알겠습니다. 예, 제 '컷'은 출력을 기반으로했지만 기뻤습니다. –

0

당신은 단순히

cp -rv files dest > output_file 

같은 것을 사용하고 파일로 모든 출력을 리디렉션하지만 절대적으로 필요를 분할하는 경우 그래서 당신은 단지 내가 루비 빨리 뭔가를 작성하는 것이 좋습니다 결말을 가질 수 있습니다 , Python, Perl 중 하나이며 단지 "verbose_cp"와 같은 심볼릭 링크를 사용하십시오. 당신이 정말로 원한다면 Bash으로 나누기를 할 수 있습니다. 그러나 제 의견으로는 더 강한 문자열 처리 언어를 사용하는 것이 훨씬 쉽습니다.

관련 문제