1. ls dir/* | tr ‘\n’ ’ ’ 换行替换成空格
你可以使用 ls 命令和 tr 命令来将文件列表根据空格拼接起来成一个字符串。以下是一个示例:
ls dir/* | tr '\n' ' '
解释
ls dir/*:列出dir目录下的所有文件。tr '\n' ' ':将所有的换行符(\n)转换为空格(' '),从而把文件列表拼接成一个单行的字符串。
示例
假设 dir 目录中有以下文件:
file1.txt
file2.txt
file3.txt
执行以下命令:
ls dir/* | tr '\n' ' '
输出将会是:
dir/file1.txt dir/file2.txt dir/file3.txt
这个命令将所有文件名用空格拼接成了一个字符串。
注意事项
-
确保目录路径正确,避免误操作。
-
如果文件名包含空格,可以使用
find命令结合printf格式化输出,例如:find dir -type f -print0 | xargs -0 printf '%s '这将确保即使文件名中包含空格也能正确处理。
for循环遍历输出结果
for循环会根据空格字符依次遍历
dir_str=`ls dir/* | tr '\n' ' '`
for one in ${dir_str};doecho $one
done