【发布时间】:2019-09-07 07:46:00
【问题描述】:
在sed中,我们使用双引号来读取以美元符号表示的环境变量,如果我想同时使用美元符号作为行尾模式该怎么办?
这是我的命令示例(不工作),
cat inputfile | xargs -n4 sh -c 'sed -ne "$1,$2p" bigfile|sed -e "$s/$/\n+--$3-----+/" > $0.outputfile'
我将输入文件的内容(包含输出文件名、目标行号(开始和结束)以及要添加到每个文件的一些标签)传送到xargs,它将大文件分成更小的文件。输入文件示例:
dataA
59
88
sometagA
dataB
91
236
sometagB
....
在第二个sed 命令中:sed -e "$s/$/\n+--$3-----+/",$3 是来自xargs 的环境变量,我想使用其他 $s 和 $ 来定位文件结尾和行尾模式分别,因为我打算在每个输出文件中插入一些标签。我不能同时使用单引号和双引号,因为外部 xargs 已经使用了单引号。
【问题讨论】:
标签: bash sed environment-variables