【发布时间】:2019-08-21 09:55:38
【问题描述】:
我正在执行这个命令:
for i in `ls -lrt --full-time /tmp/source/ | grep "2018-11" | awk '{print $9}' `; do cp /tmp/source/$i* /tmp/data/; done
但我收到此错误:
cp: 不可能的 d'évaluer « /tmp/source/\033[01;32mpart-r-00015-c1055bf2-3985-4e44-9c2e-af8eb460c471.snappy.parquet\033[0m\033[K** »: Aucun fichier ou dossier de ce type
但文件是:
part-r-00015-c1055bf2-3985-4e44-9c2e-af8eb460c471.snappy.parquet
该命令正在添加额外的:\033[01;32m 和 \033[0m\033[K**
但我不知道为什么?
谢谢
输出
ls -lrt --full-time /tmp/source/ | grep "2018-11" | awk '{print $9}'
是:
part-r-00018-28ce784e-2519-4552-8d29-83074be49e84.snappy.parquet*
part-r-00016-28ce784e-2519-4552-8d29-83074be49e84.snappy.parquet*
part-r-00021-28ce784e-2519-4552-8d29-83074be49e84.snappy.parquet*
part-r-00017-28ce784e-2519-4552-8d29-83074be49e84.snappy.parquet*
part-r-00022-28ce784e-2519-4552-8d29-83074be49e84.snappy.parquet*
part-r-00023-28ce784e-2519-4552-8d29-83074be49e84.snappy.parquet*
【问题讨论】:
-
你能提供 ls -lrt --full-time /tmp/source/ 的输出吗? grep "2018-11" | awk '{print $9}'
-
这是文件名——控制字符(额外的东西)在某些程序中不显示。
-
ls -lrt --full-time /tmp/source/ 的输出 | grep "2018-11" | awk '{print $9}' 是:part-r-00018-28ce784e-2519-4552-8d29-83074be49e84.snappy.parquet* part-r-00016-28ce784e-2519-4552-8d29-83074be49e84.snappy.parquet* 部分-r-00021-28ce784e-2519-4552-8d29-83074be49e84.snappy.parquet* 部分-r-00017-28ce784e-2519-4552-8d29-83074be49e84.snappy.parquet* 部分-r-00022-28ce784e-2519 -8d29-83074be49e84.snappy.parquet* part-r-00023-28ce784e-2519-4552-8d29-83074be49e84.snappy.parquet*
-
ls -lrt ...的输出中真的有*字符吗? -
是的,ls -lrt 的输出中确实有 * 字符 ...
标签: linux loops copy command cp