1 :風吹けば名無し:2025/12/09(火) 00:00:01.00 ID:nkf00001
nkfってなんやねん Linuxの解説見てたら急に出てきてビビったんやが

2 :風吹けば名無し:2025/12/09(火) 00:00:15.24 ID:uTf8Abc1

1
ネット彼女フィルターやで

3 :風吹けば名無し:2025/12/09(火) 00:00:28.77 ID:Wsj3K9Qp

2
わいの人生全部弾かれて終わりそうやめろ

4 :風吹けば名無し:2025/12/09(火) 00:00:45.89 ID:Utf80000
ガチレスすると Network Kanji Filter の略や
昔からある文字コード変換コマンド

5 :風吹けば名無し:2025/12/09(火) 00:01:02.31 ID:Utf80000
日本語テキストの

  • 文字コード変換

  • 改行コード変換

  • 半角カナ→全角
    みたいなのを一発でやるやつや

6 :風吹けば名無し:2025/12/09(火) 00:01:20.02 ID:ShiFtSJs
要するに「文字化け直すおまじないコマンド」やと思っとけばええで

7 :風吹けば名無し:2025/12/09(火) 00:01:42.03 ID:MasYaN42
nkf -g file.txt
これで文字コード判定できるの地味に便利

8 :風吹けば名無し:2025/12/09(火) 00:01:59.55 ID:KsjF9pP2
そもそも文字コード多すぎ問題やろ
UTF-8だけにしろや

9 :風吹けば名無し:2025/12/09(火) 00:02:17.03 ID:EUCjP999

8
昔は
Windows → Shift_JIS
Unix → EUC-JP
メール → JIS
みたいな縄張り争いやったんや

10 :風吹けば名無し:2025/12/09(火) 00:02:34.90 ID:EUCjP999
その戦国時代の遺産を仲裁してくれるのが nkf なんや

11 :風吹けば名無し:2025/12/09(火) 00:02:55.38 ID:WinSjis0
Windowsで作ったSJISのテキストをサーバーに投げたら文字化けして
nkf教えられるまでずっと泣いとったわ

12 :風吹けば名無し:2025/12/09(火) 00:03:10.77 ID:WinSjis0
nkf -w old.txt > new.txt
これでUTF-8になるの知った日、世界が変わった

13 :風吹けば名無し:2025/12/09(火) 00:03:31.11 ID:uTf8Abc1
-w が UTF-8
-s が Shift_JIS
-e が EUC-JP
これだけ覚えときゃなんとかなる

14 :風吹けば名無し:2025/12/09(火) 00:03:50.48 ID:CRLF1412
改行コードも変えられるの草
WindowsのCRLFをLFにしたりできる

15 :風吹けば名無し:2025/12/09(火) 00:04:06.29 ID:CRLF1412
nkf -w -Lu --overwrite file.txt
これで「UTF-8 + LF」に統一や

16 :風吹けば名無し:2025/12/09(火) 00:04:22.11 ID:OvrWrt39
--overwrite 初心者がいきなり使うとファイルぶっ壊して発狂するやつ

17 :風吹けば名無し:2025/12/09(火) 00:04:39.21 ID:OvrWrt39
まずは > out.txt で別ファイルに出すのが正解やで

18 :風吹けば名無し:2025/12/09(火) 00:04:56.40 ID:HanKana7
半角カナを全角カナにしてくれるのも nkf のお仕事や
-Z2 とかやな

19 :風吹けば名無し:2025/12/09(火) 00:05:12.44 ID:HanKana7
古いテキスト「ハンカクカナダラケ」で目が死ぬから助かる

20 :風吹けば名無し:2025/12/09(火) 00:05:29.88 ID:YomiBke3
ワイ「なんか日本語だけ文字化けしてるンゴ…」
先輩「とりあえず nkf かけとけ」
←だいたい直るの理不尽で好き

21 :風吹けば名無し:2025/12/09(火) 00:05:48.27 ID:GccOld88
最近の若いやつ「VSCode が勝手にUTF-8にしてくれるんで nkf いらないっす」
おっさん「…」

22 :風吹けば名無し:2025/12/09(火) 00:06:06.09 ID:GccOld88
でもサーバーでログいじるときとか、GUIない環境だと nkf 一択なんよな

23 :風吹けば名無し:2025/12/09(火) 00:06:24.00 ID:Awk77777
nkf -w log_sjis | grep エラー
こういうパイプ芸覚えたら急に中級者感出る

24 :風吹けば名無し:2025/12/09(火) 00:06:40.53 ID:GrEp0009
grepさま「ワイUTF-8前提なんで」
nkf「ほな前処理しといたるわ」

25 :風吹けば名無し:2025/12/09(火) 00:06:58.79 ID:MasYaN42

1
とりあえず手元の適当なtxtに
nkf -g ファイル名
これやって今何の文字コードか見てみ

26 :風吹けば名無し:2025/12/09(火) 00:07:12.28 ID:MasYaN42
EUC-JP とか出てきたら
「あっこれ古いUNIXの亡霊や」って思えばええ

27 :風吹けば名無し:2025/12/09(火) 00:07:32.37 ID:EUCjP999
EUC初めて聞いた民多いけど
「Unixの日本語の昔の主役」くらいの理解で十分や

28 :風吹けば名無し:2025/12/09(火) 00:07:49.25 ID:ShiFtSJs
文字コード史
JIS「ワイがメール界隈の顔や」
SJIS「Windowsの覇者や」
EUC「Unixの古豪や」
UTF-8「全部まとめてワイの天下や」

29 :風吹けば名無し:2025/12/09(火) 00:08:07.13 ID:Utf80000
で、その内乱時代を
「はいはい変換変換」って裁くのが nkf 裁判長

30 :風吹けば名無し:2025/12/09(火) 00:08:24.61 ID:NetKanj1
名前に「Network」って付いてるのは
もともとメールとかネット経由の日本語を綺麗にするためのツールやからやで

31 :風吹けば名無し:2025/12/09(火) 00:08:39.48 ID:NetKanj1
昔のメーラとかパソ通ログいじるおじさんには必須アイテムやった

32 :風吹けば名無し:2025/12/09(火) 00:08:57.03 ID:ID000000
インストールどうすんの?

33 :風吹けば名無し:2025/12/09(火) 00:09:12.92 ID:Awk77777

32
Ubuntu系なら
sudo apt-get install nkf
これで入る

34 :風吹けば名無し:2025/12/09(火) 00:09:26.70 ID:Awk77777
入ったかどうかは
nkf --version
で確認や

35 :風吹けば名無し:2025/12/09(火) 00:09:44.40 ID:CRLF1412
ちな改行だけ変えたいときも nkf でいけるの意外と知られてない

36 :風吹けば名無し:2025/12/09(火) 00:10:00.03 ID:CRLF1412
Windows向けに出したいなら
nkf -Lw で CRLF にできる

37 :風吹けば名無し:2025/12/09(火) 00:10:18.19 ID:HanKana7
「Gitの差分が毎回全部変わるんやが?」ってやつ
だいたい改行コードと文字コードやからな

38 :風吹けば名無し:2025/12/09(火) 00:10:36.14 ID:GitErr22

37
環境ごとにバラバラなままコミットして地獄になったプロジェクト見たことあるわ

39 :風吹けば名無し:2025/12/09(火) 00:10:50.77 ID:GitErr22
最初に全ファイル nkf で正規化してから始めるのマジで大事

40 :風吹けば名無し:2025/12/09(火) 00:11:09.53 ID:uTf8Abc1
でも最近のフレームワーク「UTF-8前提やで〜」って言ってくれるから
新規開発だけしてると nkf 知らんままエンジニアになる時代

41 :風吹けば名無し:2025/12/09(火) 00:11:25.73 ID:OssAnOld
逆に nkf 触ったことあるかどうかで
「レガシーも見せられたかどうか」が分かる説

42 :風吹けば名無し:2025/12/09(火) 00:11:43.82 ID:MasYaN42
実務だと
・客から送られてきた謎エンコファイル
・昔の社内ツールのログ
・古いPerl CGI
この辺でめっちゃ出番ある

43 :風吹けば名無し:2025/12/09(火) 00:11:59.90 ID:MasYaN42
nkf -w --overwrite *.txt
とか雑にやるとたまにバイナリまで巻き込んで死ぬから気をつけろ

44 :風吹けば名無し:2025/12/09(火) 00:12:20.15 ID:BinRuin5
バイナリに nkf かけて「あれ?ファイル開かへん…」ってなる初心者、わいです

45 :風吹けば名無し:2025/12/09(火) 00:12:38.18 ID:BinRuin5
テキストファイルにだけかける、これ鉄則や

46 :風吹けば名無し:2025/12/09(火) 00:12:55.77 ID:ID000000
結局覚えること

  • 新規はUTF-8で作る

  • 謎ファイルは nkf -g で判定

  • 必要なら nkf -w でUTF-8に変換
    これでええんか?

47 :風吹けば名無し:2025/12/09(火) 00:13:09.33 ID:Utf80000

46
せや、それ分かってたら nkf 入門クリアや

48 :風吹けば名無し:2025/12/09(火) 00:13:25.71 ID:NetKanj1
あとは「--overwrite は慣れてから」で完璧

49 :風吹けば名無し:2025/12/09(火) 00:13:40.31 ID:nkf00001
なんかネタスレのつもりが普通に勉強になってて草
サンガツ、怖がらず nkf 触ってみるわ

50 :風吹けば名無し:2025/12/09(火) 00:13:54.87 ID:ShiFtSJs

49
自発的にコマンド触ろうとしててえらいで
分からんこと出てきたらまたスレ立てろや