쉘 명령을 사용하여 한 줄을 파일로 변환

쉘 명령을 사용하여 한 줄을 파일로 변환

터미널에서 실행할 수 있는 편리한 명령을 찾고 있습니다. 지금 나는 사용하고 있어요

$> FILE=./file_for_translate.md && ROW=84 && \
DATA=$(sed -n ''"$ROW"'p' $FILE | trans -no-init -no-warn -b -t ru) && \
sed -i ''"$ROW"'a '"$DATA"'' $FILE

84행을 러시아어로 번역하고 현재 행 뒤에 삽입하는 데 사용됩니다.

하지만 변수 선언과 실행을 바꿔야 합니다. 그런가요?

$> YADA_YADA < FILE=./file_for_translate.md && ROW=84

내 실험 sedtrans.

중요한. 내 환경에는 스크립트나 외부 호출이 필요하지 않습니다. 내 목표는 오른쪽에서 매개변수를 편집할 수 있는 기능을 갖춘 한 줄 명령입니다.

답변1

@panki가 말했듯이 간단합니다.

$> fn(){DATA=$(sed -n ''"$2"'p' $1 | trans -no-init -no-warn -b -t ru) && \
sed -i ''"$2"'a '"$DATA"'' $1} && \
fn file_for_transalate.md 82

관련 정보