Linuxサーバにて、大量データファイルから特定の1行のみ削除したい場合ある。
その場合、手順(方法)と使うコマンドは以下の通り。
<手順>
①先頭から削除したい位置の手前まで、切り取りし、Temp1に出力
②末尾から削除される位置の直後まで、切り取り、Temp2に出力
③Temp1とTemp2を連結して、Temp3に出力
④Temp3の改行を削除し、ファイル出力する
例:1行が100バイトで、139行目のデータを削除する場合
fold -b100 TargetFile | head -138 > temp1
fold -b100 TargetFile | tail -139 > temp2
cat temp1 temp2 > temp3
cat temp3 | tr -d ‘\n’ > TargetFile_rm ・・・・temp3の改行を削除し、TargetFile_rmに出力
<コマンド>
fold:指定した幅で改行して出力するコマンド
tr :指定した文字列を削除するコマンド