1. ホーム
  2. bash

[解決済み] Bashでファイルから最終行を削除する

2022-03-26 02:45:18

質問

あるファイルがあります。 foo.txt は、次の行を含んでいます。

a
b
c

の内容を出力する簡単なコマンドが欲しい。 foo.txt である。

a
b

解決方法は?

使用方法 GNU sed :

sed -i '$ d' foo.txt

-i オプションは GNU sed 3.95より古いバージョンでは、一時ファイルによるフィルタとして使用する必要があります。

cp foo.txt foo.txt.tmp
sed '$ d' foo.txt.tmp > foo.txt
rm -f foo.txt.tmp

もちろん、その場合にも head -n -1 の代わりに sed .

MacOSです。

Mac OS X (10.7.4現在) では、この関数に相当するものは sed -i 上記のコマンドは

sed -i '' -e '$ d' foo.txt