例えば,以下のような特徴量を記述したファイルを考える.
feature.txt
1:0.725168 2:1 3:0.736906 4:0.707892 1:0.891752 2:0 3:0.684906 4:0.701177 1:0.707560 2:1 3:0.673946 4:0.646607 1:0.951198 2:0 3:0.815047 4:0.789534 1:0.965405 2:0 3:0.922424 4:0.800743 1:0.280533 2:0 3:0.433543 4:0.338383 1:0.222317 2:0 3:0.617440 4:0.677013 1:0.799581 2:0 3:0.827931 4:0.635637 1:0.915038 2:0 3:0.912492 4:0.825720 1:0.891752 2:0 3:0.844332 4:0.664702
ここで,4の特徴量だけ以下に変更したいとする.
feature4_alter.txt
4:0.766364 4:0.766364 4:0.577643 4:0.561196 4:0.577643 4:0.830104 4:0.612533 4:0.671443 4:0.671443 4:0.671443
こんな時,cutとpasteを使えばコマンドラインで簡単に変更できる.
>> cut -d ' ' -f 1,2,3 feature.txt > tmp.txt >> cat tmp.txt 1:0.725168 2:1 3:0.736906 1:0.891752 2:0 3:0.684906 1:0.707560 2:1 3:0.673946 1:0.951198 2:0 3:0.815047 1:0.965405 2:0 3:0.922424 1:0.280533 2:0 3:0.433543 1:0.222317 2:0 3:0.617440 1:0.799581 2:0 3:0.827931 1:0.915038 2:0 3:0.912492 1:0.891752 2:0 3:0.844332 >> paste -d ' ' tmp.txt feature_alter.txt > feature.txt >> cat feature.txt 1:0.725168 2:1 3:0.736906 4:0.766364 1:0.891752 2:0 3:0.684906 4:0.766364 1:0.707560 2:1 3:0.673946 4:0.577643 1:0.951198 2:0 3:0.815047 4:0.561196 1:0.965405 2:0 3:0.922424 4:0.577643 1:0.280533 2:0 3:0.433543 4:0.830104 1:0.222317 2:0 3:0.617440 4:0.612533 1:0.799581 2:0 3:0.827931 4:0.671443 1:0.915038 2:0 3:0.912492 4:0.671443 1:0.891752 2:0 3:0.844332 4:0.671443
cutで列の切り取り,pasteでファイルの横結合ができる.
コマンドラインでいろいろできるんだなぁ.
これがめちゃ分かりやすい.
Linuxコマンドでテキストデータを自在に操る - orangain flavor