连接文本文件但在它们之间插入文本

连接文本文件但在它们之间插入文本

我发现了一种强力的 Python 编程方法,可以连接多个文件,同时在文件之间插入一些文本字符。

例子:
test_file1 + " \'id#\',\',name,\' " +...+ test_fileN

但是,有没有办法只使用 BASH 命令(sed、grep、cat...)来做到这一点?

答案1

我会输入:

(for a in test_file*; do cat $a;echo " \'id#\',\',name,\' ";done) | sed '$d'

您只需将 替换test_file*为您的实际姓名列表(以空格分隔)。

答案2

使用 shell 内置函数和 的方法set,不带循环:shiftprintf

echo " \'id#\',\',name,\' " > /tmp/foo
set -- test_file[0-9]*
f="$1"
shift
cat "$1" $(printf '/tmp/foo %s ' "$@")
rm /tmp/foo    

相关内容