如何将ls -1的结果加入到一行中,并用我想要的任何内容将其分隔?
当前回答
看起来答案已经存在了。
如果你愿意 a, b, c格式,使用ls -m (Tulains Córdova的答案)
或者如果你想要bc格式,使用ls | xargs (Chris J回答的简化版本)
或者如果你想要任何其他的分隔符,如|,使用ls |粘贴-sd'|' (Artem ' s answer的应用)
其他回答
用换行符替换最后一个逗号:
ls -1 | tr '\n' ',' | sed 's/,$/\n/'
Ls -m包含屏幕宽度字符处的换行符(例如第80行)。
主要是Bash(只有ls是外部的):
saveIFS=$IFS; IFS=$'\n'
files=($(ls -1))
IFS=,
list=${files[*]}
IFS=$saveIFS
在Bash 4中使用readarray(又名mapfile):
readarray -t files < <(ls -1)
saveIFS=$IFS
IFS=,
list=${files[*]}
IFS=$saveIFS
感谢gniourf_gniourf的建议。
为了避免tr的换行符混淆,我们可以在ls中添加-b标志:
ls -1b | tr '\n' ';'
类似于第一个选项,但省略了后面的分隔符
ls -1 | paste -sd "," -
就bash
mystring=$(printf "%s|" *)
echo ${mystring%|}
我觉得这个很棒
ls -1 | awk 'ORS=","'
ORS是“输出记录分隔符”,所以现在你的行将用逗号连接。
推荐文章
- 如何在Typescript中解析JSON字符串
- 如何从查找“类型d”中排除此/ current / dot文件夹
- 检查bash变量是否等于0
- 如何分割逗号分隔的字符串?
- Java字符串—查看字符串是否只包含数字而不包含字母
- 在tmux中保持窗口名称固定
- 用javascript检查输入字符串中是否包含数字
- 只使用md5sum获取哈希值(没有文件名)
- 如何生成一个核心转储在Linux上的分段错误?
- 在Python中如何在Linux和Windows中使用“/”(目录分隔符)?
- 使用sh shell比较字符串
- Java:检查enum是否包含给定的字符串?
- 用PHP删除字符串的前4个字符
- 在Bash中测试非零长度字符串:[-n "$var"]或["$var"]
- 如何从字符串的开始或结束删除所有空白?