$i
나는 큰 파일(50G)을 가지고 있고 변수 내용으로 시작하는 줄을 바꾸는 명령을 사용하고 싶습니다 .$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
.