我必须将最新修改的文件从一个 unix 脚本文件中的一个文件夹移动到另一个文件夹。
我正在使用
cd /abc/home/ads/
mv `ls -ltr |tail -1` /abc/home/asd451/Output
Run Code Online (Sandbox Code Playgroud)
它不起作用,因为您正在使用ls -l并且输出比简单的文件名更复杂。
另外,不需要-r,只需使用第一行而不是最后一行:
mv "$(ls -t | head -1)" /abc/home/asd451/Output
Run Code Online (Sandbox Code Playgroud)
我没有找到任何只列出带有 的文件的好ls方法,所以如果您只想移动文件,这里有一个解决方案:
mv "$(ls -lt | grep '^-' | head -1 | awk '{ print $9 }')" /abc/home/asd451/Output
Run Code Online (Sandbox Code Playgroud)
我使用 grep 仅获取文件(输出ls -l以类似-rwxr-wr-w文件和drwxr-xr-w目录的方式开头)并使用awk.
添加路径(我警告你它会变得很脏):
source_path=/abc/home/ads/
mv "$(ls -lt $source_path | grep '^-' | head -1 | awk '{ print "'$source_path/'"$9 }')" /abc/home/asd451/Output
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3813 次 |
| 最近记录: |