2014-02-05 195 views
1

我有一些40000的.txt文件包含了像帧:shell脚本/ Linux的命令文件

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脚本初学者。上述

由于提前

+0

你做了什么,这不是产生正确的结果? – jww

回答

0

你可以使用这个sed的:

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

谢谢anubhava快速回复。 它完全按照我的想法工作。 – vishal

+0

不客气,很高兴它的工作。如果您满意,您可以将答案标记为已接受。 – anubhava

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文件,它将输出写入到一个名为“走出去”新目录。

+0

感谢您的回复。它工作得很好:) – vishal