• 締切済み

あるファイルと同じファイル名のファイルをbashで生成

OSはLinuxです。 あるディレクトリAにhoge_i(i=1~100)というファイルがあったとします。 別のディレクトリBに、同名のファイル100個を作りたいのですが、 どのようにすればよいでしょうか。 なお、新ファイルの中身は空でもかまいせん。 タイトルではbashと書きましたが、awkでもかまいません。

noname#108554
noname#108554

みんなの回答

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

他の該当しないファイルがなくて、Bが同列のフォルダなら Bで touch `ls ../a` とか

noname#108554
質問者

お礼

ありがとうございます。 あいにくですが、自己解決してしまいました。 お手数お掛け致しました。

関連するQ&A

  • .bash_historyについて

    .bash_historyファイルがホームディレクトリと、ルート直下に有ります。 ホームディレクトリの.bash_historyは各ユーザのコマンド履歴だと理解できるのですが、ルート直下の.bash_history(所有者はroot) は誰のコマンド履歴でしょうか? /root/.bash_historyもあるのでrootのコマンド履歴が2カ所あるというのも理解できないです。 [root@localhost ~]# locate .bash_history /home/hoge/.bash_history /home/abc/.bash_history /.bash_history /root/.bash_history

  • シェルスクリプト ファイルを同名のディレクトリに

    カレントディレクトリ以下の数百のファイルに対して、それぞれファイル自身と同じ名前のディレクトリを作成し、そこに格納したいのですが、どのような書き方をすればよいのでしょうか?例えばA,B,Cというファイルがあったとしたら、A,B,Cというディレクトリを新たに作成し、そこにそれぞれA,B,Cを移動したいのです。なにぶんファイルが多いので、自動でできたらなあ・・・と。 Linuxでbashを使っています。どうぞよろしくお願いいたします。

  • MySQLの./configureファイルが存在しない

    OSはFedora10です。 MySQLをインストールしようと思い、mysql-5.1.38-linux-i68-glibc23.tar.gzを /usr/local に展開しました。 cd mysql-5.1.38-linux-i68-glibc23 ./configure --以下オプション… 上記のコマンドを入力しても、bash: ./configure: そのようなファイルやディレクトリはありません、となります。 ディレクトリに./configureファイルがあったと思うのですが、どこにいってしまったのでしょうか。よろしくお願い致します。

  • ディレクトリ内の全てのファイルの中身を操作したい

    ディレクトリ内に、例えば10個のテキストファイル a.txt b.txt c.txt d.txt e.txt f.txt g.txt h.txt i.txt j.txt があり、その中身にそれぞれ 2 6 98 65 4 52 98 100 82 56 という数字が書かれているとします。 これらのファイルの中身の平均をawkを用いたコマンドで表示させたいのですが、自分なりに頑張ったのですが実行できませんでした。 (cat * | awk'{BEGIN{total += $0; i += 1}END{print total/i}' のような感じで) どうすれば実行できるのか、よろしければお教えください。

  • unixのawkについて

    unixでawkを使ってフルパスからディレクトリとファイル名に分けようと しているのですが、上手くいきません。 例えば ①/aaa/bbb/ccc ②/111/222/333/hoge.txt ③/hoge/foo/bar/dk@0:1 を ①/aaa/bbb と ccc ②/111/222/333 と hoge.txt ③/hoge/foo/bar と dk@0:1 としたいのです。 echo "/111/222/333/hoge.txt" | gawk '{sub(/\/.*$/,"",$0); print}' としてみたのですが、 ディレクトリだけを取り出そうとしたのですが上手くいきません。 よろしくお願いします。 OSは、Solaris、Linuxになります。

  • bash scriptで1日以内更新フォルダコピー

    bash script で1日以内に更新されたフォルダとその中に含まれているファイルやディレクトリのすべてをコピーしたいのですが、そのフォルダの1階層上の親ディレクトリを保ったままコピーする方法を教えてください。 具体的に説明すると ・aというディレクトリに、bとcというディレクトリがある。 ・bには1、2、3 という3つのディレクトリがあり、2と3が1日以内に更新されたディレクトリである。 ・cには4、5 という2つのディレクトリがあり、4が1日以内に更新されたディレクトリである。 ・1,2,3,4,5の中にはたくさんのファイルとディレクトリが含まれている。 という構成のディレクトリaがあるとして、 aのパスとコピー先のディレクトリのパスを引数や、スクリプトの中で指定し、実行すると、 ・コピー先のディレクトリに、bとcがある。 ・bには2と3があり、2にはファイル、ディレクトリがそのままコピーされている。 ・cには4があり、同じく中身はそのままコピーされている。 という結果が得られるものです。 このようなスクリプトの書き方を教えてください。

  • Windows バッチを Linux へ移植したい

    FOR 文を使ってテキストファイルの中身を変数に格納するバッチファイルがあります。 FOR /F "tokens=1,2* delims==" %%i IN (test.txt) DO SET %%i=%%j [読み込む test.txt の内容] HOGE=A FUGA=B HAGE=C 実行すると、%HOGE% には A、%FUGA% には B、%HAGE% には C が代入されます。 これと同じ処理を Linux のシェルスクリプト(bash)で実現するにはどうすれば良いでしょうか。 while read ~ でやるのかなと思ったのですが、変数の処理がピンと来なくて困っています。 どうかご教授ください。

  • csvファイルから、データをシェルで取り込みたい

    前の質問 http://oshiete1.goo.ne.jp/kotaeru_vote.php3?q=4899864 他の質問コーナー http://okyuu.com/ja/question/6095 MySQLのデータベースを作成するために、csvファイルをつくって、シェルでテーブルに取り込みたいと思っています。前のスクリプトを書き直したので、新規質問という形で書かせて下さい。 【環境】LINUX Fedora10 MySQL5.0 インターネット接続できず、USBメモリでデータを運んでいる。ここのスクリプトもコピペではなく手書き。 #bash torikomi.sh とうつと torikomi.sh: line 19 : syntax error : unexpected end of file とでてきてしまい、うまく処理できません。 ひとまず、Perlなどは使わず、bashのみにて処理を行いたいと思っています。(Perlは知らない言語なので) スクリプト #!/bin/bash set hensu=`cat /home/******/data1.csv` for i in $hensu do set a=`echo $i | awk -F, '{print $1}'` set b=`echo $i | awk -F, '{print $2}'` set c=`echo $i | awk -F, '{print $3}'` mysql --user=root --password=****** db1<<EOF insert into tbl2(aaa,bbb,ccc) values($a,"$b","$c"); EOF done

    • ベストアンサー
    • MySQL
  • bashスクリプトでの配列参照

    bashスクリプトでの質問です。 配列を、ループ文で順に参照しようとしているのですが、 要素を変数で記述すると、うまく参照できなく困っております。 ---------------------------------------------- i=0 j=10 while $i -le $j do echo "${hoge[$i]} ${huga[$i]}" i=`expr $i + 1` done ----------------------------------------------- こんな感じの、スクリプトなのです。 要素を直接記述すると、ちゃんと中身を参照することができました。 やりたいことは、二つの配列の同じ要素の中身を、連結して表示するといったものです。 ご教授よろしくお願いします。

  • シェルスクリプト(Bash偏)の実行ファイルに関するご質問があります。

    シェルスクリプト(Bash偏)の実行ファイルに関するご質問があります。 ファイル名を変更するシェルスクリプトをbashで行おうとプログラムを作成したのですが、 実行するとbad interpreter: ディレクトリではありません とメッセージが出て終了します。記述に誤りがあるのか、実行の仕方が悪いのか分かりません。教えて下さい。 シェルの記述内容は ファイル名をtest.sh #!/bin/bash/ -f mv A.txt A.ori exit 実行方法として #>chmod x+a test.sh #>./test.sh で行いました。そうしたら、bad interpreter: ディレクトリーではありません とメッセージが出ます。 ちなみに #>. test.sh で実行するとターミナルがシェルの実行と同時に閉じてしまいますが、シェルを実行したディレクトリーを確認すると、処理が終わっておりました。