Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: lsd has a different pipe behavior from ls #1052

Open
1 task done
cole-maxwell1 opened this issue May 23, 2024 · 2 comments
Open
1 task done

[Bug]: lsd has a different pipe behavior from ls #1052

cole-maxwell1 opened this issue May 23, 2024 · 2 comments
Assignees

Comments

@cole-maxwell1
Copy link

cole-maxwell1 commented May 23, 2024

Version

  • latest

version

lsd 1.1.2

What OS are you seeing the problem on?

No response

installation

cargo

term

xterm-256color

ls-colors

rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.zst=01;31:.tzst=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.wim=01;31:.swm=01;31:.dwm=01;31:.esd=01;31:.jpg=01;35:.jpeg=01;35:.mjpg=01;35:.mjpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.webp=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36:.spx=00;36:.xspf=00;36:

What happened?

lsd has a different pipe behavior from ls.

$ lsd ~/neovim
 BACKERS.md    cmake          cmake.packaging     contrib           MAINTAIN.md   runtime  󱧼 src
 BSDmakefile   cmake.config   CMakeLists.txt      CONTRIBUTING.md   Makefile      scripts   test
 build         cmake.deps     CMakePresets.json   LICENSE.txt       README.md     snap
$ ls ~/neovim | wc -l
20
$ lsd ~/neovim | wc -l
3

What's expected?

GNU ls can determine if it is outputting to a terminal or not and will behave like ls -1 when piped. When piped lsd should replicate GNU ls behavior by acting like lsd -1.

Expected output:

$ ls ~/neovim | wc -l
20
$ lsd ~/neovim | wc -l
20

What else?

I have found that this ls pipe behavior isn't well documented in the Linux man-pages (from what I have found online and a few personal machines). Check out the -1 docs from freeBSD.

I discovered this when I needed to count the number of files in a flat directory and noticed something was off when I did this with lsd. I guess this subtle behavior is something I have depended on for many years, but I never really knew this was happening in the background.

@cole-maxwell1 cole-maxwell1 changed the title [Bug]: [Bug]: lsd has a different pipe behavior from ls May 23, 2024
@hanjianwei
Copy link

This bug is particularly frustrating. Even the --classic option doesn't resolve it.

1716598857

@touero
Copy link

touero commented Jun 12, 2024

image
I don’t know why lsd -t combined with | can produce different results with ls, so can I simply think that alias ls='lsd' is not true?

WangMengabc added a commit to WangMengabc/lsd that referenced this issue Jun 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants