当前位置: 首页 > 面试题库 >

遍历ls -l输出的每一行

师曦
2023-03-14
问题内容

我想遍历输出的每一行: ls -l /some/dir/*

现在我正在尝试: for x in $(ls -l $1); do echo $x; done

但是,这会分别遍历行中的每个元素,因此我得到:

-r--r-----
1
ivanevf
eng
1074
Apr
22
13:07
File1

-r--r-----
1
ivanevf
eng
1074
Apr
22
13:17
File2

但是,我想遍历整个行。我怎么做?


问题答案:

将IFS设置为换行符,如下所示:

IFS='
'
for x in `ls -l $1`; do echo $x; done

如果您不想永久设置IFS,请在其周围放一个子外壳:

(IFS='
'
for x in `ls -l $1`; do echo $x; done)

或同时使用| 改为阅读:

ls -l $1 | while read x; do echo $x; done

还有一个选项,它在同一shell级别上运行while / read:

while read x; do echo $x; done << EOF
$(ls -l $1)
EOF


 类似资料:
  • 问题内容: 我有一个bash脚本,在其中我需要遍历find命令的输出的每一行,但是看来我正在遍历find命令中的每个Word(以空格分隔)。到目前为止,我的脚本如下所示: 我希望这会产生如下输出: 但是我很想得到这样的输出: 我在这里做错了什么? 问题答案: 由于您没有使用的任何更高级的功能,因此可以使用简单的模式来遍历子目录:

  • 问题内容: 我有一个允许用户上载文本文件或将文件内容复制/粘贴到文本区域的表格。我可以轻松地区分两者,然后将它们输入的任何一个放入字符串变量中,但是我从那里去哪里呢? 我需要遍历字符串的每一行(最好不要担心不同机器上的换行符),确保它只有一个令牌(没有空格,制表符,逗号等),清理数据,然后生成一个SQL查询基于所有方面。 我是一个非常优秀的程序员,所以我知道如何做的一般想法,但是自从使用PHP以来

  • 问题内容: 所以我有2张桌子,和。 具有列,具有呼叫者的ID和进行呼叫的时间。然后,我有另一台已,,,,,有一个人,他们的位置的ID ,而且它们在该位置的时间。 我想写一个看起来像这样的查询: 基本上,这是在寻找给定值的最接近值。之后,最终,我想根据数据查找呼叫的位置。 我该怎么做?我知道有一种基于集合的方法,但是我不想那样做。我调查了一下,但是我感到在那方面的表现很糟糕……所以循环中是否有这样做

  • 如何从Java对象输出Gremlin查询?默认输出()看起来像这不容易阅读。

  • 问题内容: 什么是在输出? 问题答案: 您可以在平台的文档中找到该行的定义。对于 (在许多Linux系统上可以找到的那个),可以通过以下信息找到该信息: 对于列出的每个目录,在文件前添加“ total BLOCKS”行,其中BLOCKS是该目录中所有文件的总磁盘分配。

  • 我们可以使用前序遍历输出构造唯一的二叉查找树,如下所示: 第一个元素将是根。 左子元素=小于根的最近元素。 右子元素=最近的元素大于根。 这些事实很容易转换成代码。然而,我正在努力获得如此严格的事实/步骤,以将级别顺序遍历输出转换为唯一的二叉查找树。 例如,如果我有以下级别顺序遍历输出,我可以形成BST如下: 级别顺序遍历中的第一个元素始终是根(级别0)。然后是级别1的元素。4小于5,所以我将把它