gpt4 book ai didi

linux - 遍历 ls -l 输出的每一行

转载 作者:IT老高 更新时间:2023-10-28 12:23:30 25 4
gpt4 key购买 nike

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

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

但是,这会分别迭代该行中的每个元素,所以我得到:

-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,请在其周围放置一个子 shell:

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

或者使用while |改为阅读:

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

关于linux - 遍历 ls -l 输出的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2859908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com