Bash-awkコマンドとsedコマンド

1005 ワード

cat train.txt | awk '$1<163481 {print $1 "." $2}' > target.txt

このコマンドはtrain.txtの各行は「.」区切り記号を2つのセグメントに分割する、第1のセグメントが163481未満の行を選択して指定ファイルtargetに出力.txtで.
awk 'condition {print ...}'

 
val.txt各動作XXX.jpg..,最後の小数点を削除します.
sed -i 's/\.\.//g' val.txt

sedコマンドラインフォーマットは次のとおりです.
sed [-nefri] [ ]              

-i:画面から出力されるのではなく、ファイルの内容を直接変更します.
-n:sed特殊処理された行のみ出力
小数点正規表現では任意の文字を表し、*は繰り返し、.*任意の文字列を表す
 
   train.txtにはすべての訓練画像名が含まれているが、ラベルが与えられていないことに気づき、指定行を置き換えるコマンドがあることを望んでいたが、sed's///g'はいくつかの行のパラメータを制定していないようで、後にsedのfunctionにpというパラメータが印刷されていることに気づき、以下の文はtrainを便利に列挙することができる.txtの1~6行目:
cat train.txt | sed -n '1,6p'
ですので、次の文でそれぞれ2つのクラスにラベルを付け、2つのファイルにリダイレクトしてマージしたいと思いますが、クラス数が多い場合はこの方法は適用されないと思います.
cat train.txt | sed -n '1,68580p' | sed 's/jpg/jpg 0/g'