• ベストアンサー

cutコマンドで指定フィールドを抜き出し

CentOS7を使用しています。 cutコマンドで指定フィールドを抜き出したいと思い下記コマンドを実行しましたがうまくいきませんでした。(3列目以降を抜き出す) 何か間違えてますでしょうか? ps | cut -d ' ' -f 3-

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

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1524/2218)
回答No.1

psコマンドの出力で空白文字が連続している部分をcutコマンドが分解するとき、質問者さんが思っているのと違う動作をしているのだと思います。 cutを使わず、psのオプションで出力したい項目を指定するほうが簡単でしょう。Ubuntuの場合の例です。 $ ps PID TTY TIME CMD 1835054 pts/0 00:00:00 bash 1836119 pts/0 00:00:00 ps $ ps -o time,comm TIME COMMAND 00:00:00 bash 00:00:00 ps

unko347
質問者

お礼

oオプションを利用したほうがよさそうですね。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • phpからlinuxコマンドを実行したい

    CentOS6で test.phpを作成しました。 <?php $buf = ''; exec("yum list installed | grep php | cut -d' ' -f1", $buf);   var_dump($buf[0]); ?> コマンド:php test.php を実行したのですが、実行結果が帰ってきません。 (当然phpをインストールしているので、パッケージは導入されています。) 多分「’」がうまく機能してないのだと思うのですが、 どのように記述すればコマンドの実行結果が表示されるのでしょうか ご教授お願いします。

  • 列を指定してコマンドでの置換

    テキストファイルの1列目2列目に対して、XXXXX.Yの後の.以降の文字or数字を全てコマンドで削除して、XXXXXとしたいです。 どのような方法がありますでしょうか? sedでは列指定はできないと思うので。

  • 指定期間内のログを表示する方法

    現在、Ubuntuを使用しています。 指定期間内のログ(/var/log/syslog)を表示したくてネットで調べた下記コマンドを打ちました。期待通りの結果にはなったのですがなぜそうなるのかがわからないです。 -Fオプションで"-"で文字列を区切った最初の文字($1)を使用して 範囲指定を行っています。この時、$1の中身が純粋な日付のみの文字列(例えば’Apr 23 09:10:44’)であればまだわかるのですが$1の内容は 日付のみの文字列ではありませんでした。なぜ、下記コマンドで範囲指定ができるのでしょうか。 cat syslog | awk -F - '"Apr 23 09:10:44" < $1 && $1 <= "Apr 23 09:12:47"'

  • 文字化けした文字をcutコマンドで消す

    ↓のように Re;お問い合わせ という文字などが文字化けした時に nkf -mBで、日本語に置き換えているつもりなのですが、 必ず先頭に余計な文字化けが出てきてしまうのです。 8・・桴磴0CRe: お問い合わせ ↑このように文字化けします。 必ずRe:は存在する為、cutコマンドを使用して nkf -mB |cut -d 'Re:' -f2 としてみたのですが、(ほんとはRe:から残したい。) 区切り文字をコロン:だけにしても cut -d ':' -f2 2;・桴0Cお問い合わせ となり、文字化けが消えません。 文字化けを正しく日本語に変換するにはどうしたらよいでしょうか。 文字化けの種類?にもよると思うのですが、 cutコマンド以外でも 【Re:より前を削除】出来る方法があったら教えてください。

  • UNIXでのコマンドからの印刷

    UNIX(SCO OPEN SERVER)で下記のようなコマンドより印刷しています。 lp -onb -oc -olpi8 -otl60 -olandscape filename ここまでは問題ないのですが、今プリンターを追加しようとしています。 となると -d でプリンター名を指定する必要があるとのことなのですが、さらにオプションの表記が長くなります。 今、使用しているアプリケーションがこのコマンドを入力して設定することにより、印刷方法を変更できるのですが、入力するフィールドの文字数が制限されており、 今のコマンドに -d オプションを追加できません。 そこで可能かどうか質問なんですが、 -onb -oc -olpi8 -otl60 -olandscape このオプションは共通なので、lp コマンドを実行したときの標準と設定することは可能でしょうか? 宜しくお願いいたします。

  • lprコマンド(印刷)を実行すると、lprコマンド実行ログを取るように

    lprコマンド(印刷)を実行すると、lprコマンド実行ログを取るようにしたい。 osはCentOSです。このCentOS上からlprコマンドを実行すると 指定されたプリンタから印刷されます。ログも取りたいと思い、 CentOS上にて、/etc/syslog.confに、 lpr.* /var/log/lpr.log を追記し、syslogを再起動させました。しかし、 プリンタからlprコマンドで印刷をしてもログは記録されません。 利用できるファシリティにlprはあるはずなのですが・・・。 プリンタの実行ログを作成するには何か足りない設定があるのでしょうか?

  • シェルでコマンドの実行結果を変数に格納する方法

    以下のようなコマンドライン引数を取得するシェルを書いたのですが 実行時にエラーになってしまいました。コマンド(第2引数以降を取得するコマンド)の実行結果を変数に格納するところでエラーになってしまいました。どのようにすればよろしいでしょうか。 「./test2.sh a b c d e」を実行し「a: コマンドが見つかりません」 というエラーが出てしまいます。 (test2.shの内容) #!/bin/sh OUTPUTFILE=$1 SRC_FILES=`"$@" | cut -d ' ' -f 2-` # 第二引数以降を取得 echo $OUTPUTFILE ←ここは表示される echo $SRC_FILES ←ここでエラー

  • 【CentOS5.2】コマンドラインにて実行したい

    CentOS5.2を使用しています。 エフセキュアというウイルス対策ソフトをインストールしたいと 思っています。 ライセンスは持っていまして、ソフト名は 「エフセキュア Linux セキュリティ コマンドライン エディション Ver7.02」 というものです。 ダウンロードしたところ、以下のように書かれていました。 >管理者 root で以下のコマンドを実行することで、F-Secure アンチウィルス >Linuxサーバ版からの上書きインストールによる移行が行えます >また、新規インストールの場合にも同様に --command-line-only >オプションを指定してください。 ># ./f-secure-linux-security-7.02.73807 --command-line-only >プロキシに関する設定は再度行ってください。その他の設定は引き継がれます。 新規のインストールなので、上のコマンドを実行すれば良いのだろうと 思ったのですが、私のLinuxはGUIで操作しているため、 どのようにしたら、コマンドで実行できるかが分かりませんでした。 Windowsであれば、[ファイルを指定して実行]を選んで、 「cmd」と打って[OK]ボタンをクリックすれば、コマンドの入力ができると 思います。 これと同じことをしたいと思っているのですが、 どのようにしたら良いか教えて頂けませんか? ぜひよろしくお願い致します。

  • makeコマンドについて

    こんにちは、 CentOS4.0に、Snortをインストールしようと思い、下記のように 解凍し、インストールを行ったのですが、 $ tar -zxvf snort-2.6.0.tar.gz $ cd snort-2.6.0 $ ./configure $ make # make install $ ./configure までは上手くいったのですが、 $ make のコマンドを実行したとき、 make: *** ターゲットが指定されておらず、makefile も見つかりません。中止。 のメッセージが表示され、上手くインストールできません。 実は恥ずかしながら、makeコマンドを使用してソフトをインストールする時は いつもこのメッセージが表示され、上手くセットアップ出来たことがありません。 原因として何が考えられるでしょうか? どなたかご存知の方がいらっしゃいましたらアドバイスよろしく お願いいたします。

  • access で「指定したフィールドが多すぎたため、・・」エラーが出ます。

    こんにちは、 ACCESS2002でレポートを作ろうとしていますが、 「指定したフィールドが多すぎたため、フォームまたはレポートを作成できませんでした。指定するフィールドの数を減らして再度実行してください。」というエラーが出ます。 3つのテーブルからデータを持ってくる。 テーブルはリレーションを持っている。 フィールド数が50もないですし、また以前同じような作りのレポートを作ったときは問題がありませんでした。 上記の事で何かお分かりの方がいましたら教えてください。よろしくお願いします。