こんにちは。キーを含むtxtファイルがあります。
a.txt
:
1234
4567
4568
4564
6754
warning message
invoke from function
以下のように、このファイルの内容を変数parmに書き込む必要があります。
1234,4567,3456,2345
しなければならない最後の2行省略ファイルにもあります。
答え1
GNUhead
または互換バージョンを使用すると、負の数を使用してファイルの末尾から指定された数の行を削除できます。
parm=$(head -n -2 < a.txt | paste -sd , -)
そしてzsh
:
parm=${(j:,:)"${(@f)$(<a.txt)}"[1,-3]}
(これにより、$(<a.txt)
末尾の改行がすべて削除されるため、末尾の空白行が削除され、[1,-3]
2つの追加行が削除されます。)
POSIX的に:
parm=$(sed '$d' < a.txt | sed '$d' | paste -sd , -)
または以下を使用してawk
:
parm=$(awk 'NR>2 {printf "%s", sep b; sep = ","}
{b = a; a = $0}' < a.txt)