テキストファイルの内容を切り取る方法は?

テキストファイルの内容を切り取る方法は?

テキストファイルの先頭と末尾にあるすべての「空白」文字(存在する場合は\ nを含む)を削除したいと思います。 (デフォルトでは、「file」が大きな文字列の場合、ほとんどのプログラミング言語のTrim()関数の動作を模倣します)。

ベストアンサー1

使用sed:

sed -z 's/^\s*//; s/\s*$//' infile
  • s/^\s*//infile入力ファイルとして使用する場合は、空白/空白行を削除します。

  • s/\s*$//infile\n、を含む入力ファイルの末尾の空白/空白行を削除しますinfile

cat -e infile:

$
$
$
Three blank lines above$
$
$
Two blank lines in the middle$
a blank lines below$
$
a line with trailing whitespaces                $
          a line with leading whitespaces$
below are two empty lines + one whitespaces then an empty line again$
$
$
                                    $
$

出力:

Three blank lines above


Two blank lines in the middle
a blank lines below

a line with trailing whitespaces
          a line with leading whitespaces
below are two empty lines + one whitespaces then an empty line again

または、最初の空白/空白行を削除した結果をprintf印刷しsed、最後から空白行のみを削除するコマンドの置き換えに使用できます\n

printf '%s' "$(sed -z 's/^\s*//' infile)"

おすすめ記事