• ベストアンサー

wcコマンドの表示について

wc -lコマンドを使用して行数を取ろうと思ったのですが、 実際コマンドを実行したところ以下のような結果になってしまい困っています。 実行結果: bash-2.03$ wc -l tes1_tmp.csv 8 tes1_tmp.csv ファイル名の部分を表示させないで変数に入れることをしたいのですが 可能でしょうか? アドバイスよろしくお願いします。

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

  • ベストアンサー
  • luckymac
  • ベストアンサー率81% (9/11)
回答No.1

$ TEST=`cat tes1_tmp.csv | wc -l` で、TEST変数に数値だけ入ると思いますがいかがでしょうか。 コマンド自体は $ cat tes1_tmp.csv | wc -l です。

関連するQ&A

  • シェルスクリプトで出力と処理の同時実行

    シェルスクリプトで出力コマンドを実行し、キーワードで 抽出してその行数で分岐させようと考えています。 (出力コマンドはミドルウェアのコマンドでアプリケーションの 状態を表示するコマンドです) 出力コマンドの結果を出力させたいのですが下記のような 流れで行おうとしています。 いちいちファイルに保存せずに出力と、行数の変数への格納を 一度でできる方法はないでしょうか。 出力コマンド | grep [キーワード] | tee tmp/file hensuu=wc -l tmp/file case $hensuu in ・・・ よろしくお願いします。

  • perl -wc

    telnet を利用できないユーザーの為に、ブラウザ上でPerl(CGI)の文法チェックができるようにしています。 フォームでファイル名を入力させ、チェックプログラム内で "perl -wc $filename" を実行して結果を出力させるだけだと思い作成したのですが、実行結果を受け取ることができません。 apache のログには実行結果が書かれているのでコマンドは正常に動作しています。  open(IN, "perl -wc $filename |");  while (<IN>) {   print $_; と  $ret=`perl -wc $filename`; でやってみましたがダメでした。 どなたかご教授願います。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • Linux の shell プログラミングについて

    すみません、どなたがご存じでしたら教えてください。 Linux の shell プログラミングですが、 実行するコマンドをそのまま表示する良い方法が無いでしょうか? 現在は実行するコマンドをechoで書いています。 たとえば次のような感じです。 #!/bin/bash var1=/etc echo 'ls -l $var1 | wc -l' ls -l $var1 | wc -l 結果 ls -l $var1 | wc -l 205 でも(echoで)同じ内容を2行書きたくないので いろいろ調べて次のようにしてみました。 #!/bin/bash var1=/etc set -x ls -l $var1 | wc -l set +x 結果は + ls -l /etc + wc -l 205 + set +x 思ったようになりませんでした。 他に良い方法が何かありますでしょうか? よろしくお願いいたします。

  • joinコマンド

    joinコマンド 自宅環境で再現できないのですが、 # cat tes1 1 2 3 4 5 ・ ・ ・ 110 # cat tes2 3 27 4 18 9 18 17 100 19 20 33 55 ・ ・ ・ 110 28 # join -a1 tes1 tes2 と実行したときに、tes2の10以下の数字までしか結合されず 1 2 27 3 18 4 18 5 6 7 8 9 19 10 11 ・ ・ ・ 110 のように表示されてしまいます。 もともとのtes1,tes2はsqlの結果を整形、タブ区切りにしています。 問題の起きたコードそのままではないのですが、 似たような経験をした方や、コマンドに詳しい方がいましたら、 原因についてアドバイス頂けると幸いです。

  • 【sed】変数に設定したコマンドの実行について

    お世話になります。 一度変数に文字列として格納したsedコマンドの実行についての質問です。 以下、「実装1」のように、「あるファイルの最終行を除外して別のファイルに書き込む」という処理を行おうとしています。 ログ出力などの関係で、実行するコマンドを一度変数に格納する必要があるのですが 一度変数に格納して実行すると「実装2」のようにエラーが出てしまいます。 変数に格納したsedコマンドを実行するにはどのようにすればいいでしょうか? なお、シェルはbashです。 実行例ではターミナルから直接実行していますが、実際にはシェルスクリプトにして実行します。 以上、どなたかご教示頂けないでしょうか。 ■実装1 [root@localhost tmp]# cat /tmp/data aaa bbb ccc [root@localhost tmp]# sed -e '$d' /tmp/data >/tmp/data2 [root@localhost tmp]# cat /tmp/data2 aaa bbb [root@localhost tmp]# ■実装2 [root@localhost tmp]# CMD='sed -e $d /tmp/data >/tmp/data2' [root@localhost tmp]# echo $CMD sed -e $d /tmp/data >/tmp/data2 [root@localhost tmp]# $CMD aaa bbb sed: >/tmp/data2を読み込めません: そのようなファイルやディレクトリはありません [root@localhost tmp]#

  • [シェルスクリプト内で bashコマンド後のコマンドが実行されない]

    [シェルスクリプト内で bashコマンド後のコマンドが実行されない] 以下の様にシェルスクリプトを記述するとコマンド2が実行されません。 #! /bin/sh コマンド1 bash コマンド2 bash環境でコマンド2を実行させるにはどうしたら良いのでしょうか?

  • pyhonでコマンドラインを入力したい。

    今日はLinux上でのコマンドライン、例えば以下のようなもの $ head -n 20 test |grep '2011'|wc -l 5 を直接ターミナルに打ち込むのでなく、pythonに記入し、そのpythonファイルを叩くことで実行したいと思っております。 つまり、 head -n 20 test |grep '2011'|wc -l というのをtest.pyみたいなものに保存し、 $pyothon test.py と打ち込むと先ほどと同じ結果の「5」が返されるようにしたいです。 どのようにすればいいのでしょうか。よろしくお願いします。

  • コマンド実行結果を環境変数に代入する方法ありますか

    下記のとおりfindコマンドを実行すると結果が表示されます。 findコマンドの実行結果を直接環境変数に代入したいのですが、 できますでしょうか。 できれば「5」だけを環境変数に代入したいです。 よろしくお願いします。 C:\tmp>find /C "OPEN" aaa.txt ---------- AAA.TXT: 5

  • コマンドのを教えてください

    以下のコマンドが思うように動きません。 Ubuntuで実行しています。 xとyの乱数を出してそれを${x}と${z}に入れて実行したいのですが数字が入りませんなぜなのでしょうか? 教えてください #!/bin/bash SCREEN_NAME='minecraft' x='echo $RANDOM' z='echo $RANDOM' sudo screen -p 0 -S ${SCREEN_NAME} -X eval 'stuff "spreadplayers ${x} ${z} @a\015"'

  • 困ってます Cygwin で ls が実行できません

    はじめまして、勉強のために Cygwin をダウンロードしました。 しかし、実行できるコマンドとできないコマンドがあって困っています。 とりあえず例をあげますと、cd, pwd は動いて、ls は動きません。 なぜか ls.exe だと動きます。(オプションもOK) 以下にその bash のコマンド実行画面をコピペします。ユーザ名だけ隠させていただきます。 bash-3.2$ pwd /cygdrive/c/usr/ユーザ名 bash-3.2$ ls ls: invalid option -- Try `ls --help' for more informati bash-3.2$ ls.exe kterm.exe work bash-3.2$ cd work/ bash-3.2$ pwd /cygdrive/c/usr/ユーザ名/work ------------------------------- Cygwin を C:\cygwin にダウンロード後にしたことは3つです。 1.Windows の 環境変数 に HOME : C:\usr\ユーザ名 と   Path : C:\cygwin\bin;C:\cygwin\usr\local\bin; を追加。 2.bash の作業ディレクトリを C:\usr\ユーザ名 に設定。 3.C:\usr\ユーザ名 に .bashrc などを設置。 といった所だと思います。覚えていないだけかもしれませんが。 以上、よろしくお願いします。