2013-05-03 2 views
1

diff의 결과 인 텍스트 파일을 조작하는 지침이 필요합니다. 필자는 결과가> 구분 기호 (파일 이름) 뒤에 나열된 다음 파일 이름에 경로를 추가하여 이후 작업을 수행하도록합니다. 큰 파일을 다루고 있지 않습니다. 나는 모든 것을 그 자리에서하기를 희망하고있다.파일 조작 - bash

는 기본적으로 나는 누군가가 나에게 내가 함께 실행할 수있는 간단한 예를 적어주세요 수

cp /add/this/path/SCR-33333.sql /to/somewhere/else

같은 작업을이

 
96a97,98 
> SCR-33333.sql 
> SCR-33333-WEB.sql 

같은을 만들고 싶어?

답변

1
grep ">" dummy.txt | cut -f 2 -d ' ' | xargs -I{} cp /add/this/path/{} somewhere 

여기서 'dummy.txt'는 diff 파일입니다. . 이것은 한 줄의 명령입니다 무시 :

+0

'cut'부분에 'cut -c3-'을 사용하는 것이 더 좋을 것 – Kevin

+1

Sashang의 예제가 완벽하게 작동합니다. 정말 고맙습니다! – MoBarger

2

글쎄, 당신은

diff this that | awk '/^>/{print "/add/this/path/" $2}' | xargs -i cp {} /to/somewhere/else

(주 ... 파일 이름이없는 공백이 포함 할 경우에만 작동합니다 마음에 베어링이 시도해 볼 수도 있습니다 웹 브라우저로 인한 줄 바꿈)

+0

"xargs"의 특정 호출이 원하는 것을 수행 할 것이라고 생각하지 않습니다 ... – twalberg

+0

OOPS. 그 점을 지적 해 주셔서 감사합니다. 그리고, 정정했다. –