什麼情況文字會以 null 作為換行符? - Linux

Table of Contents


在 sed 的 man page 中看到選項 -z ,
以 null 作為輸入資料的換行符。

當我希望 sed 不要一次只處理一行時,
會用這個選項。
但這應該不是它本來的目的。

我在其它命令也有看到類似的選項;
(像 xargs 的 -0 選項。)
是什麼時候文字會以 null 作為換行符?


C 語言的字串是以 null 結尾,
我猜這些選項可能是要和 C 語言配合。
但感覺有點小題大作……。
請教各位知道這個選項的意義嗎?


--
因為她不知道,唯一值得她流淚的人,絕不會讓她流淚。

--

All Comments

Dorothy avatarDorothy2016-03-18
/proc/<pid>/cmdline 和 /proc/<pid>/environ?
Todd Johnson avatarTodd Johnson2016-03-20
當批量處理的檔案有含空白字元的檔名的時候
Freda avatarFreda2016-03-20
因為linux檔名的限制只有/和null byte不能用 要最精確分
隔多個檔名當然就只有用null byte了
Hazel avatarHazel2016-03-25
不是用換行符就可以了嗎?
Queena avatarQueena2016-03-28
假設你把執行檔的的data segment存成檔案(或直接是記憶體
映射檔)來處理,不就自然有一堆用\0分隔的字串資料?
Rebecca avatarRebecca2016-03-29
you can have \n (0x0a) in your file name (WTF..)
Damian avatarDamian2016-04-03
example: echo abc | xargs -0 touch
Andy avatarAndy2016-04-05
還真的 XD
Xanthe avatarXanthe2016-04-08
還有各種non-printable,甚至像xfs檔名可以有/
Michael avatarMichael2016-04-11
xfs 檔案可以有 / 字元 ? 那請問怎麼區分路徑呢
Vanessa avatarVanessa2016-04-15
一般 linux 下檔案系統大多久是 \0 與 / 不可以當檔名
若 / 可以成為檔案名稱部分,識別方式就很有意思了
Jack avatarJack2016-04-15
xfs 可以有 / ? 請問有詳細資訊嗎
Doris avatarDoris2016-04-17
我也忘了.. FS的spec中可以,但我忘了那時是怎麼辦到的
還好是用loopback device玩的,因為刪不掉XD
Liam avatarLiam2016-04-17
我查到的答案是即使xfs也不能用/
若硬改為/的話fsck會當作異常把檔名修掉
Zora avatarZora2016-04-21
不少FS其實都可以 只是一般系統不會允許XD