You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Allen Wittenauer (JIRA)" <ji...@apache.org> on 2016/05/03 02:11:13 UTC

[jira] [Comment Edited] (HADOOP-13079) Add -q to fs -ls to print non-printable characters

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

Allen Wittenauer edited comment on HADOOP-13079 at 5/3/16 12:11 AM:
--------------------------------------------------------------------

bq. It's not surprising, because it matches the traditional UNIX / Linux behavior. 

The defaulting of -q on is not traditional UNIX behavior.  It may be what GNU does ("Linux"), but it's not the expected, standard behavior according to the POSIX spec. (The POSIX spec, does, however, say that individual implementations may turn it on.)  The fact that -q is an stanard, single letter option and the way to turn it off is not should have been a very big hint.


was (Author: aw):
bq. It's not surprising, because it matches the traditional UNIX / Linux behavior. 

The defaulting of -q on is not traditional UNIX behavior.  It may be what GNU does ("Linux"), but it's not the expected, standard behavior according to the POSIX spec. (The POSIX spec, does, however, say that individual implementations may turn it on.)  The fact that -q is an option and the way to turn it off is not should have been a very big hint.

> 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
>            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: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org