perl初心者です。以下のようにデータがならんでいる時、
test111 aaaaaaaaabbbbbbbbcccccc
test112 aaaaccccabbbbbbbbcccccc
test113 aaaaccaaabbbbbbbbcccccc
test114 acccaaaaabbbbbbbbcccccc
test111 aacaaaaaabbbbbbbbcccccc
test112 accaaaaaabbbbbbbbcccccc
test113 aaacccaaabbbbbbbbcccccc
test114 aaaaaccaabbbbbbbbcccccc
test112の行だけ削除して、さらにそこを詰めたい時のスクリプトを作成しています。
途中からわかりません。
行を削除する関数が調べても見つからないのです。
#!/usr/bin/perl ;
open(IN, "test.doc") or die ;
open(OUT, ">testout.doc");
while(<IN>) {
chomp ;
if (/(\S+)/) {
$name = $1 ;
if ($name =~ /^test112(\S+)/) {
#ここでマッチさせて、一気に行を削除して、しかも行を詰めたいのですが
;
}
print OUT " \n" ;
}
}
close (IN) ;
close (OUT) ;
大変困っております。宜しくお願いします。
No.2ベストアンサー
- 回答日時:
一致しなかったときのみ出力するということで、
while(<IN>){
unless(/^test112/){
print OUT;
}
}
更に簡単に書くと、
while(<IN>){
print OUT unless(/^test112/);
}
となります。
削除にこだわるなら、
while(<IN>){
s/^test112\s.+//;
print OUT;
}
あたりでしょうか。
もしくは、明示的に削除したいなら、
while(<IN>){
if(/^test112\s.+/){
$_ = "";
}
print OUT;
}
というふうに、カラの文字列を代入してやるのも、値を削除するときの常套手段ですね。
この回答への補足
有り難うございました。
早速以下のスクリプトで実行してみたのですが、
困ったことに、test112は消えず、しかも改行されていたものが改行されずに打ち出されてしまいました。
どこに問題があるのでしょうか?
もう一度教えて頂きたいのですが。
宜しくお願いします。
open(IN, "test1109.txt") or die ;
open(OUT, ">aftertest1109");
while(<IN>) {
chomp ;
if (/(\S+)/) {
$name = $1 ; #
unless ($name =~ /^test112/) {
}
print OUT;
}
}
close (IN) ;
close (OUT) ;
No.3
- 回答日時:
#2です。
>早速以下のスクリプトで実行してみたのですが、
>困ったことに、test112は消えず、しかも改行されていたものが改行されずに打ち出されてしまいました。
まず、test112が消えないのは、print文が、unlessブロック内に入っていませんね。
次に、改行されないのは、chompしたなら、出力時につけてやらないといけませんから、
print OUT "$_\n";
としなくてはなりませんね。
この回答への補足
できました~~~~~~~!!!!
(*^.^*)
有り難うございましたーーーーーーーー!
本当に助かりました。明日までにできないと困ることになってました。また、ちょくちょく質問させて頂くことになるかとは思いますが、宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- 英語 英文の添削お願いします。【長文です。】 マッチングアプリで相手を言い負かしている時のやつです。 色々 1 2023/07/01 02:12
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
一番好きな「クリスマスソング」は?
街に出ればクリスマスソングを聞かない日はないくらい、 いろんな曲がかかっていますよね。 あなたが一番好きな「クリスマスソング」を教えてください!
-
2024年に成し遂げたこと
今年も残すところわずか。 皆さんが今年達成したことを教えていただきたいです。 どんな小さなものでも構いません。
-
集合写真、どこに映る?
あなたが集合写真を撮られるとき、画角のどのあたりにいることが多いですか? 私は振り返ってみると右の端にいることが多い気がします。
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
perlで、後ろの行を読んで、前の行に書き込むには?
Perl
-
特定の文字列を削除
Perl
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perl の open について教えてく...
-
INDIRECT 横に再度抽出したい
-
openした後、closeしないでプロ...
-
Perl の外部モジュールの利用方法
-
LinuxにおいてのPerlのプログラ...
-
Perlのエラーについてご教授く...
-
perlをバージョンアップしたら...
-
Strawberry Perl for Windows ...
-
Perlでテキストファイルの一部...
-
PerlからPython3へ移行したい ...
-
perlのスクリプトどこが間違っ...
-
テキストファイルで提出とは?
-
Windows10のパソコンを先日購入...
-
Perl言語について。
-
ファイルをディレクトリ分配の...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルで提出とは?
-
perlをバージョンアップしたら...
-
openした後、closeしないでプロ...
-
INDIRECT 横に再度抽出したい
-
Perlのエラーについてご教授く...
-
perlプログラミング 空白行削除
-
ファイルアイコンの左下に緑の□...
-
画像が表示でnull; this.src
-
perlで2次元配列をサブルーチ...
-
Perl の外部モジュールの利用方法
-
ラズベリーパイ初心者です。 ラ...
-
bashスクリプト
-
Strawberry Perl for Windows ...
-
PerlでUTF-8のファイルの文字列...
-
アルファベットに付いて質問し...
-
Perlでファイルの末尾から指定...
-
arduino の割り込み処理について
-
TeraPadエディターの操作方法に...
-
perlのflock関数でロックをかけ...
-
Perl言語について。
おすすめ情報