2개의 다른 입력 파일이 있습니다.
파일 A:
1.dat
2.dat
3.dat
파일 B:
4.dat
5.dat
5.dat
이제 파일 A에서 모든 dat 파일을 찾은 다음 파일 B에서 모든 dat 파일을 찾고 복사하고 싶습니다 $LOCATION/
.$FILE_A_PATH
$LOCATION/
$FILE_B_PATH
이것을 달성하도록 도와주세요
답변1
GNU xargs
및 GNU의 경우 cp
다음과 같을 수 있습니다.
(
cd -P -- "$LOCATION" &&
xargs -rd '\n' cp -t "$FILE_A_LOCATION" --
) < 'File A'
에 대해서도 마찬가지입니다 File B
.
dat
의 하위 디렉터리에서 이러한 파일을 찾고 있으며 $LOCATION
셸을 사용하여 그 중 하나(예: 최신 파일)를 복사 하려는 경우 :$FILE_A_LOCATION
zsh
autoload zargs
cp_from_file() (
file=$1 dest=$2
files=( ${(f)"$(<$file)"} )
newests=( $LOCATION/**/$^files(ND.om[1]) )
zargs -r -- $newests -- cp -t $dest --
)
cp_from_file 'File A' $FILE_A_LOCATION
cp_from_file 'File B' $FILE_B_LOCATION