用于更改文本文件的Shell脚本/ linux命令

时间:2014-02-05 12:09:11

标签: linux shell unix scripting

我有大约40000个.txt文件,其中包含以下框架:

30724 64260 65286 65527 46579 83 65 72 28652 65516 57343 3127 2067 30750 64332 65532 65532 38364 0 0 512 16368 65535 65534 55806 0 0 0 32271 .

我只想在文件的开头和结尾添加一些参数名称,以便我可以将这些文件用于我的加载测试。

所需格式应为:

{
  "frames":"30724 64260 65286 65527 46579 83 65 72 28652 65516 57343 3127 2067 30750 64332 65532 65532 38364 0 0 512 16368 65535 65534 55806 0 0 0 32271",
  "params": {"rms":false,"removeSpecialFrames":"true"}
}

请帮助使用linux脚本,因为我是shell脚本的初学者。

先谢谢

2 个答案:

答案 0 :(得分:0)

mkdir -p out
for f in *.txt; do
    echo '{"frames":"' > "out/$f"
    cat "$f" >> "out/$f"
    echo '", "params": {"rms":false,"removeSpecialFrames":"true"}}' >> "out/$f"
done

以上假设您在完整的* .txt文件目录中,并将输出写入名为“out”的新目录。

答案 1 :(得分:0)

您可以使用此sed:

sed -i.bak -e 's/^/{"frames":"/' -e 's/$/", "params": {"rms":false,"removeSpecialFrames":"true"}}/' file.txt