如何将ls -1的结果加入到一行中,并用我想要的任何内容将其分隔?


当前回答

类似于第一个选项,但省略了后面的分隔符

ls -1 | paste -sd "," -

其他回答

为了避免tr的换行符混淆,我们可以在ls中添加-b标志:

ls -1b | tr '\n' ';'

如果你喜欢Python3,你可以这样做(但是请解释为什么你会这样做?):

ls -1 | python -c "import sys; print(','.join(sys.stdin.read().splitlines()))"

不要白费力气。

ls -m

它就是这么做的。

一般不建议解析ls,所以另一种更好的方法是使用find,例如:

find . -type f -print0 | tr '\0' ','

或者使用find和粘贴:

find . -type f | paste -d, -s

对于一般的多行连接(与文件系统无关),请检查:Unix命令行上简明而可移植的“join”。

你可以使用:

ls -1 | perl -pe 's/\n$/some_delimiter/'