在 sed 的 man page 中看到選項 -z ,
以 null 作為輸入資料的換行符。
當我希望 sed 不要一次只處理一行時,
會用這個選項。
但這應該不是它本來的目的。
我在其它命令也有看到類似的選項;
(像 xargs 的 -0 選項。)
是什麼時候文字會以 null 作為換行符?
C 語言的字串是以 null 結尾,
我猜這些選項可能是要和 C 語言配合。
但感覺有點小題大作……。
請教各位知道這個選項的意義嗎?
作者:
lantw44 (#######################)
2016-03-14 02:02:00/proc/<pid>/cmdline 和 /proc/<pid>/environ?
作者:
Vdragon (V字龍)
2016-03-14 07:55:00當批量處理的檔案有含空白字元的檔名的時候
作者:
ckc1ark (偽物)
2016-03-14 09:51:00因為linux檔名的限制只有/和null byte不能用 要最精確分隔多個檔名當然就只有用null byte了
作者:
bitlife (BIT一生)
2016-03-14 13:52:00假設你把執行檔的的data segment存成檔案(或直接是記憶體映射檔)來處理,不就自然有一堆用\0分隔的字串資料?
作者:
stimim (qqaa)
2016-03-14 14:41:00you can have \n (0x0a) in your file name (WTF..)example: echo abc | xargs -0 touch
作者:
kdjf (我抓得到什麼呢?)
2016-03-14 23:43:00還有各種non-printable,甚至像xfs檔名可以有/
xfs 檔案可以有 / 字元 ? 那請問怎麼區分路徑呢一般 linux 下檔案系統大多久是 \0 與 / 不可以當檔名若 / 可以成為檔案名稱部分,識別方式就很有意思了
作者:
kdjf (我抓得到什麼呢?)
2016-03-16 00:28:00我也忘了.. FS的spec中可以,但我忘了那時是怎麼辦到的還好是用loopback device玩的,因為刪不掉XD
我查到的答案是即使xfs也不能用/若硬改為/的話fsck會當作異常把檔名修掉
作者:
danny8376 (釣到一隻猴子@_@)
2016-03-16 18:18:00不少FS其實都可以 只是一般系統不會允許XD