如何将目录下所有文件列表保存到文本文件并添加前后缀?
给文件名列表添加前缀和后缀的实现方法
你可以直接通过管道命令一步完成格式转换并写入文件,不用先生成原始的output.txt再修改,更高效:
方法1:使用awk
ls | awk '{print "1" $0 "$"}' > output.txt
awk会读取ls输出的每一行,在开头拼接1,末尾拼接$,然后将结果写入output.txt。
方法2:使用sed
ls | sed 's/^/1/; s/$/$/' > output.txt
sed通过两个替换操作实现:s/^/1/在每一行开头插入1,s/$/$/在每一行末尾插入$。
如果已经生成了原始的output.txt,想要直接修改这个文件,可以用:
sed -i 's/^/1/; s/$/$/' output.txt
-i参数让sed直接原地修改文件内容,无需额外输出。
执行后output.txt的内容就会变成:
1a.txt$ 1b.txt$ 1c.txt$
内容的提问来源于stack exchange,提问作者fodder
相关产品推荐
相关产品推荐

