大きなファイル(50G)があり、変数$i
の内容で始まる行を置き換えたいと思います 変数$newline
のコンテンツ parallel
を使用する コマンド。
私のスクリプトを以下に示します
#!/bin/sh
File="test.txt"
i="foo"
newline="helooooooo"
parallel -a $File -k --block 30M --pipe-part 'sed -i /^$i/d' $File
echo $newline >> $File
行を削除するだけで、うまくいきません。
承認された回答:
あなたの問題はここにあると思います:
'sed -i /^$i/d'
これを試してください:
"sed -i /^$i/d"
変数$i
一重引用符で囲まれているため展開できません。これらを二重引用符に切り替えると、Bashで変数$i
を使用して展開できます。 。