【问题标题】:Redirect file to ls将文件重定向到 ls
【发布时间】:2015-06-16 22:30:01
【问题描述】:

是否可以将文件的输出重定向到 ls. 示例:文件中有一个/,我想将其定向到 ls 以获取/ 目录的内容。当我尝试ls < file 这不起作用

【问题讨论】:

  • 您接受的有趣答案 :-) 您真​​的尝试过运行ls "$(cat your_file)" 吗?你用的是什么外壳?

标签: file shell redirect ls


【解决方案1】:

您可以使用xargs 或命令替换来实现此目的。

  1. 使用 xargs

    关键是了解xargs command

    如果您在名为files_to_change 的文件中有文件列表,则您 可以使用以下一种衬垫打印它们:

    cat files_to_change | xargs ls
    
  2. 使用命令替换

    另一种方法是使用command substitution。这有效 同上。

    两个不同的单行,使用不同的语法:

    ls `cat files_to_change`
    ls $(cat files_to_change)
    

不管是文件还是目录,你都可以对它们运行任何命令。

如果file_to_change的内容是:

/usr/bin/
/bin/

cat files_to_change | xargs lsls $(cat files_to_change) 相当于运行:

$ ls /usr/bin/
$ ls /bin/

控制台上的输出应该是你想要的。

【讨论】:

  • xargs 真的没有在这里添加任何东西。您所需要的只是命令替换。
【解决方案2】:

您需要使用xargs。这个非常有用的实用程序运行带有作为输入传入的参数的命令:

cat myfile | xargs ls

【讨论】:

    【解决方案3】:

    ls 'cat your_file'

    注意,' 是 altGr+7 字符(但在这里用于格式化!)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-22
      • 1970-01-01
      • 1970-01-01
      • 2016-03-13
      相关资源
      最近更新 更多