我是一个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
ls FILE* | xargs -i echo "STR,{}" > FLIST.TXT
对于由ls
过滤的每个文件名,在追加之前添加"STR,
"前缀。