shell - 需要将一个字符串连接到 unix 中的每一行 ls 命令输出

标签 shell unix

我是 Shell 脚本的初学者。以下是我在 UNIX Korn Shell 中的要求。
例子:
当我们使用 ls 列出文件时命令重定向到一个文件,文件名将存储如下。

$ ls FILE*>FLIST.TXT
$ cat FLIST.TXT
FILE1
FILE2
FILE3
但我需要带有前缀常量字符串的输出如下 STR, :
$ cat FLIST.TXT
STR,FILE1
STR,FILE2
STR,FILE3
请告诉我应该是什么ls命令来实现此输出。

最佳答案

您不能使用 ls单独在每个文件之前附加数据。 ls存在以列出文件。
您将需要在旁边使用其他工具 ls .

您可以使用 sed 附加到每行的前面命令:

cat FLIST.TXT | sed 's/^/STR,/'

这会将更改发送到 stdout .

如果您想更改实际文件,请运行 sed到位:
sed -i -e 's/^/STR,/' FLIST.TXT  

要在写入文件之前进行追加,请使用管道 ls进入 sed :
ls FILE* | sed 's/^/STR,/' > FLIST.TXT

关于shell - 需要将一个字符串连接到 unix 中的每一行 ls 命令输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30431979/

相关文章:

c - 合并多个 .so 共享库

bash - 计算所有子目录unix中的总目录和文件

linux - 如何根据时间戳从巨大的文本文件中删除记录?

c - 在不同的目录中打开文件。在 C 中导致段错误?

linux - 重新启动我的电脑,突然 git 不工作了

linux - 计算两个不同文件中常见单词的数量

bash - shell UNIX : grep wild card

linux - 如何在linux shell中匹配带有特殊字符的子字符串?

shell - 从远程服务器上的行中删除单词

c - Unix C Shell - 作业控制问题!