我有一个大文件(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
它对我不起作用,只需删除该行即可。
答案1
我认为你的问题在这里:
'sed -i /^$i/d'
尝试这个:
"sed -i /^$i/d"
该变量$i
无法扩展,因为它用单引号括起来,将它们切换为双引号允许 Bash 使用您的变量扩展它们$i
。