• ベストアンサー

UNIX:縦一列のファイルを横一行として表示したい

お世話になります。 A.TXTのような縦一列にデータが入っているテキストファイルがあります。 それを横一行の形式で表示させたいのですが、可能でしょうか? 実現する方向性のヒントでも頂けたらと思います。 ■望む結果 文字列1文字列6文字列5文字列2文字列4文字列3 ------------------------------------------ catコマンドでファイルを見ると、A.TXTの内容のままになります (まぁ、当たり前ですが・・・)。 ■A.TXT 文字列1 文字列6 文字列5 文字列2 文字列4 文字列3 ※文字列の並びはランダム

質問者が選んだベストアンサー

  • ベストアンサー
  • ya00000ma
  • ベストアンサー率29% (29/99)
回答No.1

こんにちは。 文字列の後の改行コードを、削除しましょう。

gou2199
質問者

お礼

お世話になります。 アドバイスのとおり、下記コマンドで改行コードを削除したら 望む結果が得られました。 tr -d '\012' ' ' < A.TXT ありがとうございました。

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

perl -e 'chomp (@lines=<>);print @lines' A.txt

gou2199
質問者

お礼

お世話になります。 BLUEPIXYさんに教えていただいた方法でも望む結果が得られました。 ありがとうございました。 内容は後で勉強します。

回答No.3

リスト表現にしたいのであれば、改行コードを空白に変換した方がいいんじゃないですか? ファイルはそのままにしておいて、プログラム内で一括読み込み後、改行を空白にすればいいだけのこと。C言語なら、この関数はありますね?

  • ballville
  • ベストアンサー率47% (233/487)
回答No.2

echo `cat A.TXT` とか awk -v ORS=" " '{print}' A.TXT とか

関連するQ&A

  • ファイルから一行ずつ読み込むとき、@F[0] と $_ は違う?

    データファイルを一行ずつ読み込んで、文字列を一文字ずつコンマ区切りにしたいと思っています。たとえば、   xyz → x,y,z としたいと思っています。 今、data.txt に  abc  defgh という2行が書いてあります。  perl -nla -e '@chars= split(//,@F[1]); print join(",",@chars);' data.txt とすると  a,b,c  d,e,f,g,h という出力が無事に得られました。 どうせ、data.txt は一列しか使っていないので、 @F[0] の代りに $_ を使ってみました。  perl -nle '@chars= split(//, $_); print join(",",@chars);' data.txt しかし、結果は  a,b,c,  d,e,f,g,h, のように、各行の最後に余計なコンマが付いてしまいます。 なぜでしょうか? 一列しかデータがないので、@F[0] と $_ は同じだと思っていたのですが、なにか違うのでしょうか?

    • ベストアンサー
    • Perl
  • テキストファイルの特定の一行だけを表示する方法

    テキストファイルの特定の一行だけを表示する方法を教えてください。 具体的には、text.txtを読み込んでおき、nと入力されたら、n行目を表示させたいです。 ・ファイルを読み込む ・ユーザーからの入力を待つ ・String line = text.txtのn行目の文字列; というようにする← ・lineを表示する というプログラムになるかと思いますが、特に矢印のついているところが分かりません。 初学者なのでかなり単純な質問とは思いますが、よろしければお教えください。

    • ベストアンサー
    • Java
  • 複数のファイルに同じ文字列を自動入力するバッチ

    複数のテキストファイルに同じ文字列を入力して保存するバッチを作成したいです。 テキストファイル1.txt テキストファイル2.txt テキストファイル3.txt 上記3つのテキストファイルがあったとしてバッチを起動すると 同じ文字列のデータを自動的に入力したい。 自動入力する文字列:あいうえお そもそも実現可能なのかもよくわかっていませんが ご教示いただけますと幸いです。

  • UNIX: catコマンドで無限ループ???

    正確にはOS X 10.9.5のbashですが、UNIX一般の質問と思われるのでこのようなタイトルにしました。 catコマンドで、あるテキストファイルのあとに、同じテキストファイルをつくろうと思いましたが、無限ループになってしまい、巨大ファイルができてしまいます。 最初、このようにしてa.txtという1行のファイルを作りました。  [~]$ cat > a.txt  aaa それで、同じa.txtを  aaa  aaa という2行のファイルにしたいと思い、以下のようなコマンドを入力しました。 [~]$ cat a.txt >> a.txt 自分の目論見としては、a.txtの内容がa.txtに追加されるので、2行になるかと思いましたが、応答がなくなりました。 Ctrl+Cで停止し、a.txtの内容を見ると [~]$ cat a.txt aaa aaa aaa aaa aaa aaa ・・・・・・ と何千行も入っています。 ファイルのサイズはこれぐらいでした。 [~]$ ls -al a.txt -rw-r--r-- 1 TYWalker staff 16898724 9 22 12:57 a.txt これは、なぜこのような現象になるのでしょうか。 また、私が本来やろうとしたことを、簡単なコマンドで行うにはどうすればいいでしょうか。 よろしくお願いします。

  • SED等で文字列を抽出したい

    MacOS X 10.6のターミナルを使って文字列を加工して抽出する方法の質問です。 次のような複数行からなるテキスト(ファイル名を 1.txt とします)があります。 <a href="./hoge/82111.310.12345000.htm" target="_blank"> <a href="./hoge/42403.310.33345025.htm" target="_blank"> <a href="./hoge/22154.310.50873323.htm" target="_blank"> ... このテキスト(1.txt)から、sed(?もっと適切なものがあれば別のものでも)コマンド を用いて 82111.12345000.htm 82401.33345025.htm 82111.50873323.htm ... といった具合に、 hoge/ のあとから始まり htmで終わる文字列から .310を取り除いた文字列を抜き出して ファイル一覧のテキスト(2.txt) に書き出す方法を教えてください。 なお、1.txtの行数は不定で変動し、その行数に応じて2.txtも行数が増えていきます。 また htmのファイル名のところは 5桁のランダムな数字.310.8桁のランダムな数字.htm という規則になっています。(.310 と.htm の部分は固定です) よろしくお願いします。

  • 2つのファイルを用いた文字列置換(削除)の方法

    こんにちは。 テキストファイルA.txtに、検索したい文字列を1行ずつ入れておき、別のテキストファイルB.txtのうち、A.txtにある文字が含まれている行を削除するという作業をしたいです。 例えば A.txt AAA BBB B.txt hoge hogeAAAhoge hogeBhoge hogeBBBhoge の場合、 hoge hogeBhoge を出力させたいです。 このような処理ができる方法はないでしょうか?(コマンドやプログラム等)

  • UNIXで文字列操作

    あるログファイルを整理しているのですが知識が無く困ってます。 A A B C というログファイルの重複部分のみ消去したいのですが一般的なコマンドで可能でしょうか?catしてsortして整理まではできたのですが重複文字列をどのように消せば良いでしょうか? データ数は2万行ほどです

  • DOS 特定の文字列を含むファイルのみの抽出方法

    C直下に2つのテキストファイル「A.txt」「B.txt」が存在するとします。 Aには「Start」、Bには「Second」という文字列が含まれているとします。 これらのテキストを、BATを使って『テキスト内に特定の文字列が含まれているファイル』のみをDOSプロンプト上に表示する方法をご教示願います。 ■想定するコマンド実行結果 ・Start.BATを実行→DOSプロンプトにて「A.txt」のみが表示する。 ・Second.BATを実行→DOSプロンプトにて「B.txt」のみが表示する。 よろしくお願いします。

  • C++で、テキストファイルを一行ずつ読み込んで配列に入れたいのですが、

    C++で、テキストファイルを一行ずつ読み込んで配列に入れたいのですが、うまくできません! テキストには -3.0        1.0        2.0 ・・・などのように一行に一つの数値が入って縦に並んでいます。 それをひとつずつ読み込み、新しい配列(たとえばa[])に順番にいれたいのです。 a[1]=-3.0,a[2]=1.0、・・・と なるように。 どうか、この初心者にご指導お願いいたします。

  • ファイルの最初の一行だけ小さく表示される

    ファイルの最初の一行だけ小さく表示される 質問させてください。 Eclipseでテキストファイルの中身を表示するプログラムを作成したのですが、画像のように最初の一行だけ小さく表示されてしまいます。 使用言語はJava、テキストファイルは一般的な".txt"です。 ソースにも変な記述はしていないので、おそらくEclipseの設定(仕様?)だと思いますが、どなたか原因をご存知ありませんでしょうか。 お知恵をお貸しください。

    • ベストアンサー
    • Java

専門家に質問してみよう