我正在尝试使用以下内容查找文件,然后将第一个结果复制到 $dir 设置的目录中。当我不设置变量并使用绝对路径时它工作正常,但这不是我需要的。
这不起作用:
dir="/path/to/destination/";
mkdir "$dir";
locate -l 1 target_file.txt | awk '{print "cp " $1 $dir " "}' | sh
错误信息是:
awk: illegal field $(), name "dir"
input record number 1, file
source line number 1
cp: fts_open: No such file or directory
这有效:
locate -l 1 target_file.txt | awk '{print "cp " $1 " /path/to/destination/"}' | sh