我试图在hdfs上打印文件名及其修改日期,hdfs的问题是它不支持ls-l命令,所以当我使用hdfs dfs -ls /directory_path
这是输出的示例
Found 6 items
drwxr-xr-x - dps12 supergroup 0 2013-08-14 05:10 /data/PSG/LZ/FORECAST/201
drwxr-xr-x - dps12 supergroup 0 2013-08-15 05:13 /data/PSG/LZ/FORECAST/201
drwxr-xr-x - dps12 supergroup 0 2013-08-16 05:15 /data/PSG/LZ/FORECAST/203
drwxr-xr-x - dps12 supergroup 0 2013-07-30 20:32 /data/PSG/LZ/FORECAST/204
drwxr-xr-x - dps12 supergroup 0 2013-07-31 22:54 /data/PSG/LZ/FORECAST/205
drwxr-xr-x - dps12 supergroup 0 2013-08-13 04:15 /data/PSG/LZ/FORECAST/206
我需要的输出是
2013-08-14 /data/PSG/LZ/FORECAST/201
2013-08-15 /data/PSG/LZ/FORECAST/201
2013-08-16 /data/PSG/LZ/FORECAST/203
2013-07-30 /data/PSG/LZ/FORECAST/204
2013-07-31 /data/PSG/LZ/FORECAST/205
2013-08-13 /data/PSG/LZ/FORECAST/206
我知道对于专家们来说,这一定是一件轻而易举的事,任何帮助或指点我如何才能做到这一点都会有很大的帮助。
我想用
hdfs dfs -ls /directory_path | while read line ; do $line|awk 'print $4 $6' ; done;
但没什么用
最佳答案
请用锥子试试-
hdfs dfs -ls /directory_path | grep -v 'Found' | awk '{ print $6,$8 }'
grep -v 'Found'
用于忽略开头的Found x items
行。感谢psny。