ここから本文です

Linux(CentOS)について、相談させてください。 test.txtについて、test.txtの1列...

wnx********さん

2019/7/2803:02:40

Linux(CentOS)について、相談させてください。
test.txtについて、test.txtの1列目をキーとして
下記のように分類したいと考えております。

どのようにすれば下記のように分類できますでしょうか。


<分割前>
text.txt
1 aaa
2 aaa
2 bbb
3 aaa

<分割後>
test-1.txt
1 aaa

test-2.txt
2 aaa
2 bbb

test-3.txt
3 aaa

閲覧数:
34
回答数:
2

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

2019/7/2814:05:00

awk でやったらどうですか?
awk '{if($1==1){print}}' test.txt >test-1.txt
awk '{if($1==2){print}}' test.txt >test-2.txt
awk '{if($1==3){print}}' test.txt >test-3.txt

  • 質問者

    wnx********さん

    2019/7/2900:42:25

    ありがとうございます。
    できれば、スクリプトから実行できるようにしたいですが、意図した実行結果が得られず困っています。
    「$1==$n」の箇所がうまく動作していないのではと思いますが、この場合は、どのように記載すればできますでしょうか。

    <スクリプト内容>
    # more script.sh

    #! /bin/tcsh

    foreach n (1 2 3)
    awk '{if($1==$n){print}}' test.txt > test-1.txt
    end

    <実行結果>
    # ./script.sh
    #

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

sle********さん

2019/7/2817:48:35

私だとこういうのはperlです。

#!/usr/bin/perl
open RF,"test.txt";
while($rdata=<RF>)
{
open WF,">>test-".substr($rdata,0,1).".txt";
print WF $rdata;
close WF;
}

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo!知恵袋カテゴリ

一覧を見る

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる