man
ページは私に多くの希望を与えませんが、それが文書化されていない(および/またはGNU固有の)機能であることを望んでいます。
承認された回答:
できません。 ed、GNU sed、perlを使用するか、コンテンツの新しいファイルを作成するという舞台裏で行うことを実行します。
ed
、ポータブル:
ed foo <<EOF
1,$s/^([^,]*),([^,]*),([^,]*).*/1,3/
w
q
EOF
GNU sed
:
sed -i -e 's/^([^,]*),([^,]*),([^,]*).*/1,3/' foo
Perl:
perl -i -l -F, -pae 'print @F[1,3]' foo
カットコード> 、新しいファイルを作成します(スクリプトが中断された場合は、再度実行できるため、推奨されます):
cut -d , -f 1,3 <foo >foo.new &&
mv -f foo.new foo
カットコード> 、ファイルを所定の場所に置き換えます(
foo
の所有権と権限を保持します 、ただし中断に対する保護が必要です):
cp -f foo foo.old &&
cut -d , -f 1,3 <foo.old >foo &&
rm foo.old
cut
のいずれかを使用することをお勧めします ベースのメソッド。そうすれば、非標準のツールに依存せず、仕事に最適なツールを使用でき、割り込み時の動作を制御できます。