• ベストアンサー

○行目から□行目だけを表示するコマンド

テキストファイルの中から、10行目から20行目のみを表示するようなコマンドがあれば教えてください。 CATやMOREのようなコマンドにオプションで行数を指定して指定した行数だけを見ることは可能でしょうか? もしコマンドで一発で無理なら、hoge.txtというファイルの10行目から20行目までを表示するような簡単なシェルの書き方を教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • tcnq
  • ベストアンサー率31% (7/22)
回答No.2

#1です。間違いました。 awk '10 <= NR && NR <= 20' hoge.txt でした。

t29x0479
質問者

お礼

ご教授ありがとうございました。うまくいきました。

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

sed -ne 10,20p hoge.txt

  • tcnq
  • ベストアンサー率31% (7/22)
回答No.1

tail +10 hoge.txt | head -11 とか awk '3 <= NR && NR <= 5' hoge.txt など。 なお"head -11"の11は20-10+1です。

関連するQ&A

  • sedを使って複数ファイルの先頭行を表示

    以下の様なファイルがあります。 各ファイルの先頭行をとりだしたいのですが、headコマンドを使うと ファイル名と結果が分かれて表示されます。 sedで、-nオプションの行番号指定で表示することができるので、 sed -n '1p' *.txt のワイルドカード指定でやったのですが、 この場合だと複数ファイルとみてくれなくて、すべてのファイルを ひとつにしてその先頭を表示しているみたいです。 できれば、各ファイル毎に、ファイル名と結果を1行にして表示したい のですが、どうすればよいでしょうか。 参照ファイル cat 1.txt 12345 67890 cat 2.txt abcde fghij cat 3.txt 11111 22222 headコマンドで実行 $ head -n 1 *.txt ==> 1.txt <== 12345 ==> 2.txt <== abcde ==> 3.txt <== 11111 sedで実行 $ sed -n '1p' *.txt 12345

  • 【シェル】whileコマンドについて

    【シェル】whileコマンドについて OS:Solaris10 SH:Bシェル お世話になります。 whileコマンドにてテキストから、先頭に"#"(シャープ)が付いている行と、 空白行以外を読み込ませたいです。 ところが、メイン処理にawkコマンドを入れると、テキストを読む時点で、 行全体ではなく、指定したフィールド内の文字列を読みにいくため、 "#"(シャープ)が付いている行を無視することができません。 ====== while.sh ====== #!/bin/sh while read LINE do echo $LINE | awk '{print $2}' done < list.txt | grep -v "^#" | grep -v "^$" ====================== ------ list.txt ------ 1 2 3 #4 5 6 7 8 9 ---------------------- ****** 出力結果 ****** 2 5 8 ********************** ** 出力させたい結果 ** 2 8 ********************** whileコマンドのオプション等で、テキスト内に特定の記号がある行は 無視して読み込ませる方法がありましたら、ご教授ください。 宜しくお願い致します。

  • 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 これは、なぜこのような現象になるのでしょうか。 また、私が本来やろうとしたことを、簡単なコマンドで行うにはどうすればいいでしょうか。 よろしくお願いします。

  • シェルで一行一行読み込む

    いつもお世話になっております。 標題の通り、シェルで一行一行読み込で出力する方法をご教授願えないでしょうか [sh] #!/bin/bash cat test.txt | while read line do echo $line done [test.txt] /usr/hoge/hoge1/hoge2/hoge3/hoge4/index.html /usr/hoge1/hoge1/hoge2/hoge3/hoge4/index.html /usr/hoge3/hoge1/hoge2/hoge3/hoge4/index.html 通常echo $lineにしていれば、text.txtの内容が出力されるのですが、 加えて、ls -l コマンドも実行したいのですが、うまくいきません [したいこと] /usr/hoge/hoge1/hoge2/hoge3/hoge4/index.html -rw-rw-r-- 1 hoge hoge 7536 3月 16 16:15 /usr/hoge/hoge1/hoge2/hoge3/hoge4/index.html /usr/hoge/hoge1/hoge2/hoge3/hoge4/index.html -rw-rw-r-- 1 hoge hoge 7536 3月 16 16:15 /usr/hoge1/hoge1/hoge2/hoge3/hoge4/index.html よろしくおねがいします

  • LinuxのtopコマンドでLoad Avgの行のみをテキスト出力方法

    LinuxのtopコマンドでLoad Avgの行のみをテキスト出力方法はありますか? 環境はMac miniで カーネルはDarwin Kernel Version 10.4.0 です。 FedoraやUbuntuなどとはコマンドのオプションや表示のされ方が違うみたいなので、 top -n 1 でコマンドを終わらせることが出来ず困っています。 他のLinuxでは top -n 1 | grep Cpu >> output.txt のようにしてCPUの状態を残すようなシェルを使ってCPUの状態をログ化していました。 ご教示願います。

  • シェルスクリプト コマンドを変数にした時の呼び方

    はじめまして、シェルスクリプトを勉強中の者です。 コマンドを変数にいれて、まとめました。 しかしコマンドの変数を呼びこもうとするとエラーになります。 ============================================ #!/bin/sh GREP="grep" cat "${GREP} '^[0-9]' /home/hoge/test.nicdf" ============================================ ================ シェル実行結果 ============= $ ./test.sh cat: grep '^[0-9]' /home/hoge/test.nicdf: そのようなファイルやディレクトリはありません どう書けば、エラーにならずに正常に動作するでしょうか? ご教授の程よろしくお願いします。

  • MacでCSV出力 Catで読み込むと0行

    Microsoft Excel for Mac 2011を利用しています。 Mac OSは10.10です。 CSV出力をして、Kシェルで処理をしたいのですが、うまくCSVファイルを読み込めないようです。 cat hoge.csv |wc -l をしてみると 0行になっています。 改行関連がおかしいのか、どうかわからない状態で、前にすすめません。 手打ちテキストを作成したシェルに読み込ませるとうまくいくのですが。。 どなたかご教授お願いいたします。

  • コマンドプロンプトのatコマンド

    コマンドプロンプトのatコマンドを使って、指定時刻にテキストファイルを表示するようにしたいのですが・・・。 at 22:50 /interactive /every:M,T,W,Th,F,S,Su "C:\Users\○○\test.txt" と、このように入力しても、指定時刻にテキストファイルが表示されません。 これは、何がいけないんでしょうか?

  • 50万行のtxtファイルを行数指定で分割したい

    50万行レベルのテキストファイルがあります このファイルをVBAで行数を指定して3つのファイルに分割したいのですが可能でしょうか イメージとしては以下のような形になります ・一行目〜テキストボックス1で指定した行数 ・textbox1で指定した行数〜textbox2で指定した行数 ・textbox2で指定した行数〜最終行 どなたか教えて下さい よろしくお願いします

  • 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 の部分は固定です) よろしくお願いします。