linux - 如何使用管道命令显示文件中的属性?

标签 linux pipe

我目前正在编写一个 shell 程序,我想使用 pipe 命令显示特定文件中的总字节数。我知道管道命令接受左侧的任何内容并将其作为输入提供给右侧。 (假设你在文件所在的目录中)

我知道命令 (wc -c) 显示文件中的字节数,但我不确定如何通过管道传输它。我试过的是:

ls fileName.sh | wc -c

最佳答案

wc 将文件名作为参数,而不是输入。试试这个:

wc -c fileName.sh

wc 程序接受多个参数。您可以这样做以将其应用于当前工作目录中的所有条目:

wc -c $(ls)

另一种方法是使用xargs 将输入转换为参数:

ls | xargs wc -c

如果您的文件名中有空格,您可能需要使用更复杂的行。 ls 可以每行输出一个文件,并且可以告诉 xargs 仅在 \n 上拆分:

ls -1 | xargs -d '\n' wc -c

如果您更喜欢使用 find 而不是 ls(一个更强大的工具),find< 的 -print0 选项xargs-0 选项一起播放。

关于linux - 如何使用管道命令显示文件中的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40345509/

相关文章:

linux - 令人困惑的 shell 语法

从 Windows 到 Linux 的 C++ 交叉编译器

node.js - Node.js 子进程中通过管道处理提取 tar 缓冲区

c++ - 如何使用管道通过文件在父子之间共享数据?

java - 通过命令行与 iptables 交互

linux - 更改文件夹的默认用户

c++ - 如何在 clang 中选择特定的 gcc-toolchain?

python-3.x - 如何停止在 Python 中的命名管道上阻塞的线程?

C pipe() 在调用一定次数后返回错误

python - 管道时在 python 的子进程模块中使用 stdout.close()