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


当前回答

我觉得这个很棒

ls -1 | awk 'ORS=","'

ORS是“输出记录分隔符”,所以现在你的行将用逗号连接。

其他回答

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

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

你可以使用:

ls -1 | perl -pe 's/\n$/some_delimiter/'
sed -e :a -e '/$/N; s/\n/\\n/; ta' [filename]

解释:

-e -表示要执行的命令 :a -为标签 /$/N -定义当前和(N)下一行的匹配范围 s / \ n / \ \ n /;-将所有EOL替换为\n 助教;-如果匹配成功,则标记a

摘自我的博客。

这个命令是为PERL爱好者准备的:

ls -1 | perl -l40pe0

这里的40是空格的八进制ascii码。

-p将逐行处理并打印

-l将负责用我们提供的ASCII字符替换尾随的\n。

-e是通知PERL我们正在执行命令行。

0表示实际上没有命令要执行。

Perl -e0与Perl -e ' '相同

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

ls -1 | paste -sd "," -