UNIX上で改行区切りのテキストデータを一行一行引数として読み込み、コマンドを実行する方法を教えてください。(例)【hoge.txtの中身】(実際は改行区切り)→ABC001,DEF002,GHI003【実行したいコマンド】([ ]内が可変)→cp -p [ABC001] [ABC001].20040112

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/01/12 12:46:44
  • 終了:--

回答(5件)

id:aki73ix No.1

aki73ix回答回数5224ベストアンサー獲得回数272004/01/12 12:56:19

ポイント16pt

http://www.linux.or.jp/

日本の Linux 情報

URLはダミーです

環境変数に データを読み込んでやれば実行できますよ

シェルによってやり方が違うので環境を書いたほうがいいです

無理なら、環境変数``(注:アポストロフィではありません)でくくってやるといいと思います

id:ka0007

ありがとうございます。csh,bashで実行する際の具体例をいただけると助かります。

2004/01/12 13:00:19
id:Indigo No.2

Indigo回答回数17ベストアンサー獲得回数02004/01/12 13:02:50

ポイント16pt

http://www.excite.co.jp/

Excite エキサイト

URLはダミーです

さまざまな方法があると思いますが、

一行一語ならcshでコマンドラインで以下の

様にすれば出来ます

foreach piyo(`cat hoge.txt`)

cp -p $piyo $piyo.20040112

end

id:izumick No.3

izumick回答回数17ベストアンサー獲得回数02004/01/12 13:07:32

ポイント16pt

URLはダミーです。

自分だったら、

cat hoge.txt |gawk ’{print ”cp”,$1,$1”.20040112”}’ |sh

でしょうか。

id:ka0007

1〜3の皆様回答ありがとうございます。もう少しご意見を募ってみることにします。

2004/01/12 13:09:49
id:konohazuku No.4

konohazuku回答回数7ベストアンサー獲得回数02004/01/12 14:13:27

ポイント16pt

URL はダミーです。

(ba)sh だったら以下のようになります。

for file in `cat hoge.txt`; do

cp -p $file $file.20040112

done

id:Fujim No.5

Fujim回答回数3ベストアンサー獲得回数02004/01/12 23:39:51

ポイント16pt

perl -ne ’chomp; `cp $_ $_.20040112`’ hoge.txt

などとよくやります.

id:ka0007

皆様ありがとうございました。

2004/01/12 23:53:54

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません