Shell

使用一個 shell 命令將單行轉換為文件

  • June 15, 2019

我正在尋找一個方便的命令來從我的終端執行。現在我正在使用

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

重要的。我不需要我的環境中的腳本或一些外部呼叫。我的目標是一個能夠在右側編輯參數的單行命令。

正如@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

引用自:https://unix.stackexchange.com/questions/524395