![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
UTF-8、Shift-JIS、EUC-JPで書かれた、meme_utf8、meme_sjis、meme_eucという名前のテキストファイルがあるのですが、
$ for f in meme_*; do nkf $f; done
で以下のような出力になるのですが、
我が生涯に一片の山田なし!
古池や田代飛びこむ水の音
上田は人を傷つける、いつだって
田代にきずくとは...やはり天才か
ざんねんながら中村はきえてしまいました
この後、衝撃の上田が!!
中村をセンターに入れてスイッチ...
守りたい、この山田
我思う、ゆえに上田あり
$ for f in meme_*; do nkf $f | sed "s/^/$f /"; done
で以下のようなにファイル名を各行の頭に付加した結果になるのですが、
meme_euc 我が生涯に一片の山田なし!
meme_euc 古池や田代飛びこむ水の音
meme_euc 上田は人を傷つける、いつだって
meme_sjis 田代にきずくとは...やはり天才か
meme_sjis ざんねんながら中村はきえてしまいました
meme_sjis この後、衝撃の上田が!!
meme_utf8 中村をセンターに入れてスイッチ...
meme_utf8 守りたい、この山田
meme_utf8 我思う、ゆえに上田あり
sed "s/^/$f /"の動作で何故上のような出力になるのか理屈が分かりかねています。
どなたか分かる方、ご教示ください。
No.1ベストアンサー
- 回答日時:
シェルにて以下の命令が打ち込まれた
sed "s/^/$f /"
シェルによるパラメータ展開が行われ、シェル変数 f が置き換わる
sed "s/^/meme_euc /" ← ファイル meme_euc を処理している場合
シェルは置き換え後の値を引数にして、プログラム sed を実行する
No.2
- 回答日時:
"s/^/$f /" は " でくくられているので、sedを実行する前にシェルによって展開が行なわれいます。
$f は 正規表現としてsedで処理される前に、変数f の内容に展開されます。
for f in meme_*;
は
for f in meme_euc meme_sjis meme_utf8;
になり、 変数f を meme_euc meme_sjis meme_utf8 と変えながらループするので
nkf meme_euc | sed 's/^/meme_euc /'
nkf meme_sjis | sed 's/^/meme_sjis /'
nkf meme_utf8 | sed 's/^/meme_utf8 /'
を実行することになります。
set -x を実行すると、以降は展開後のコマンドが表示されるようになります。
どのように展開されるか等を知りたいときに設定するとよいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- YouTube YouTubeのショート動画で、よく海外の人が顔を出してmeme動画や衝撃映像に対してリアクションを 1 2023/06/14 12:06
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- 野球 高校野球の話 1 2022/08/18 09:54
- タレント・お笑い芸人 何故、未だに爆笑問題って炎上するんですか? 1 2023/02/26 21:49
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- 政治 「無職」容疑者の犯罪と少子化問題・国民病?? 5 2023/04/19 21:50
- タレント・お笑い芸人 お笑いが大好きな人はいますか?っていう質問です 2 2022/05/30 19:39
- サッカー・フットサル サッカー日本代表がセリエAやリーガエスパニョーラやプレミアリーグに参戦したら何位くらいですか? 2 2023/05/16 22:22
- バラエティ・お笑い カラオケバトルの次の出演者の中で歌唱力も魂のこもりようも表現力も抜群と思う人を上位から 1 2022/05/04 14:04
- タレント・お笑い芸人 ウーチャカは、ダウンタウンをどう思ってますか? 1 2022/09/12 23:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Data::Dumper;でダンプ後表示し...
-
ファイル出力をUTF8Nではなくて...
-
大容量テキストファイルから任...
-
C言語で特定の行を抽出する方法...
-
ExcelをCSV書き出す場合のシー...
-
VBAでCSVファイルを途中行まで...
-
バッチファイルの作り方(CSV→...
-
close()で例外が投げられる理由
-
VBAでCSVファイルの特定行を書...
-
readdir()で得られるファイル・...
-
【PHP】アクセス過多でファ...
-
タブの色を変更する方法
-
python renameについて
-
VBAで巨大なファイルの途中から...
-
オープンしたファイルで行の連結
-
エディットボックスの表示方法...
-
行を指定して削除する方法PERL
-
【C++/CLI】ファイルオープンに...
-
ファイル名を複数個配列で確保...
-
Net::FTPを使いファイル一覧の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perlをwindows環境でshift-jis...
-
Perl cgiの文字化けを直したい ...
-
perlでuse utf8でsjisのファイ...
-
HTTP::Request::Common qw(POST...
-
does not map to shiftjis は解...
-
Perl:Unicodeプロパティ作れない
-
消費税の計算で 税込価格から...
-
Perlでのファイル出力における...
-
Perl utf8上でshiftjisをデコード
-
Data::Dumper;でダンプ後表示し...
-
複数種類の括弧でくくられてな...
-
ファイル出力をUTF8Nではなくて...
-
[Perl]Shift-JISのXMLを解析する場
-
utf-8での日本語正規表現の書き方
-
perlでのtext読み込み
-
perl5.8.3のunicode環境で日本...
-
[perl5.8] SJISから読み込んだ~と
-
perlで新規ファイルを作成でき...
-
Perl 正規表現について
-
じゃらんのAPIでRESTで取得した...
おすすめ情報