使用一个 shell 命令将一行翻译成一个文件

使用一个 shell 命令将一行翻译成一个文件

我正在寻找一个方便的命令来从我的终端运行。现在我正在使用

$> 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

相关内容