10
EOFで複数の改行を削除する方法は?
1つ以上の改行で終わるファイルがあり、1つの改行のみで終わる必要があります。Bash / Unix / GNUツールを使用してこれを行うにはどうすればよいですか? 不良ファイルの例: 1\n \n 2\n \n \n 3\n \n \n \n 修正されたファイルの例: 1\n \n 2\n \n \n 3\n 言い換えると、EOFとファイルの最後の非改行文字との間に改行が1つだけあるはずです。 参照実装 ファイルの内容を読み取り、最後にさらに2つの改行がなくなるまで1つの改行を切り取り、書き戻します。 #! /bin/python import sys with open(sys.argv[1]) as infile: lines = infile.read() while lines.endswith("\n\n"): lines = lines[:-1] with open(sys.argv[2], 'w') as outfile: for line in lines: …