[ 
https://issues.apache.org/jira/browse/HADOOP-13079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15271210#comment-15271210
 ] 

Andrew Wang commented on HADOOP-13079:
--------------------------------------

I'll note that tools like {{cat}} and {{grep}} are for printing the contents of 
files, not file metadata like {{ls}}. The default GNU behaviors are simply to 
print the non-printable characters. So for the audit log example, since the 
audit log is a file, IMO that grep behavior is expected.

{{fsck}} and {{find}} I think are more appropriate analogues, along with things 
like {{lsSnapshottableDirs}} and {{listEncryptionZones}}. Likely many others.

If you can help us identify these commands and their expected default 
behaviors, we can file more follow-ons for the rest of the FsShell and hdfs 
commands.

> Add -q to fs -ls to print non-printable characters
> --------------------------------------------------
>
>                 Key: HADOOP-13079
>                 URL: https://issues.apache.org/jira/browse/HADOOP-13079
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 2.6.0
>            Reporter: John Zhuge
>            Assignee: John Zhuge
>              Labels: supportability
>
> Add option {{-q}} to "hdfs dfs -ls" to print non-printable characters as "?". 
> Non-printable characters are defined by 
> [isprint(3)|http://linux.die.net/man/3/isprint] according to the current 
> locale.
> Default to {{-q}} behavior on terminal; otherwise, print raw characters. See 
> the difference in these 2 command lines:
> * {{hadoop fs -ls /dir}}
> * {{hadoop fs -ls /dir | od -c}}
> In C, {{isatty(STDOUT_FILENO)}} is used to find out whether the output is a 
> terminal. Since Java doesn't have {{isatty}}, I will use JNI to call C 
> {{isatty()}} because the closest test {{System.console() == null}} does not 
> work in some cases.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to