我有一个目录里的一组文件。我想从ls输出中提取仅包含文件名而不带绝对路径和修改时间戳的信息。
虽然我想要它像这样:
/apps/dir/file1.txt
/apps/dir/file2.txt
现在从ls输出中提取出文件名和时间戳字段。
ls -ltr /apps/dir | awk '{print $6 $7 $8 $9}'
Sep 25 2013 /apps/dir/file1.txt
Dec 20 2013 /apps/dir/file2.txt
Dec 20 2013 /apps/dir/file3.txt
虽然我想要它像这样:
Sep 25 2013 file1
Dec 20 2013 file2
Dec 20 2013 file3
一种解决方法是进入该目录并从那里运行命令,但是否有可能不用cd而实现解决方案?我还使用了substr()函数,但由于文件名长度不相等,因此将常量值传递给substr()函数并不能解决问题。
cd
命令切换到该目录并从那里运行命令,文件名仍然会包含.txt
后缀。你是想要去除它吗? - kojiro