我有 2 个不同的输入文件
文件A:
1.dat
2.dat
3.dat
文件B:
4.dat
5.dat
5.dat
现在,我想找到文件 A 中的每个 dat 文件,然后$LOCATION/
想要复制到,$FILE_A_PATH
然后想要找到文件 B 中的每个 dat 文件,然后$LOCATION/
想要复制到$FILE_B_PATH
请帮助实现这一目标
答案1
对于 GNUxargs
和cp
,这可能是:
(
cd -P -- "$LOCATION" &&
xargs -rd '\n' cp -t "$FILE_A_LOCATION" --
) < 'File A'
对于 也一样File B
。
如果dat
要在 的子目录中查找这些文件,并且您想使用 shell$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