看板 Linux 關於我們 聯絡資訊
在 sed 的 man page 中看到選項 -z , 以 null 作為輸入資料的換行符。 當我希望 sed 不要一次只處理一行時, 會用這個選項。 但這應該不是它本來的目的。 我在其它命令也有看到類似的選項; (像 xargs 的 -0 選項。) 是什麼時候文字會以 null 作為換行符? C 語言的字串是以 null 結尾, 我猜這些選項可能是要和 C 語言配合。 但感覺有點小題大作……。 請教各位知道這個選項的意義嗎? -- 因為她不知道,唯一值得她流淚的人,絕不會讓她流淚。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.102.204 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1457885033.A.6D2.html
lantw44: /proc/<pid>/cmdline 和 /proc/<pid>/environ? 03/14 02:02
Vdragon: 當批量處理的檔案有含空白字元的檔名的時候 03/14 07:55
ckc1ark: 因為linux檔名的限制只有/和null byte不能用 要最精確分 03/14 09:51
ckc1ark: 隔多個檔名當然就只有用null byte了 03/14 09:51
檔名可以含控制字元 XD touch '^C'
Gold740716: 不是用換行符就可以了嗎? 03/14 11:24
bitlife: 假設你把執行檔的的data segment存成檔案(或直接是記憶體 03/14 13:52
bitlife: 映射檔)來處理,不就自然有一堆用\0分隔的字串資料? 03/14 13:52
stimim: you can have \n (0x0a) in your file name (WTF..) 03/14 14:41
stimim: example: echo abc | xargs -0 touch 03/14 14:42
Gold740716: 還真的 XD 03/14 20:44
也可以用 touch $'new\nline' 或單引號內直接 Enter. $ touch 'a > b' ※ 編輯: Gold740716 (140.116.102.204), 03/14/2016 20:49:03 ※ 編輯: Gold740716 (140.116.102.204), 03/14/2016 20:51:06
kdjf: 還有各種non-printable,甚至像xfs檔名可以有/ 03/14 23:43
kenduest: xfs 檔案可以有 / 字元 ? 那請問怎麼區分路徑呢 03/15 04:20
kenduest: 一般 linux 下檔案系統大多久是 \0 與 / 不可以當檔名 03/15 04:21
kenduest: 若 / 可以成為檔案名稱部分,識別方式就很有意思了 03/15 04:21
willy69wu31: xfs 可以有 / ? 請問有詳細資訊嗎 03/15 20:45
kdjf: 我也忘了.. FS的spec中可以,但我忘了那時是怎麼辦到的 03/16 00:28
kdjf: 還好是用loopback device玩的,因為刪不掉XD 03/16 00:28
willy69wu31: 我查到的答案是即使xfs也不能用/ 03/16 00:33
willy69wu31: 若硬改為/的話fsck會當作異常把檔名修掉 03/16 00:33
danny8376: 不少FS其實都可以 只是一般系統不會允許XD 03/16 18:18