$ pip install --user icdiff
Collecting icdiff Downloading icdiff-2.0.7-py3-none-any.whl.metadata (5.1 kB) Downloading icdiff-2.0.7-py3-none-any.whl (17 kB) Installing collected packages: icdiff Successfully installed icdiff-2.0.7
$ icdiff --version
icdiff version 2.0.7
$ icdiff curl{1,2}.txt
curl1.txt curl2.txt curl -LOC - https://ton.x.com/i/ton/data/archives/14719 curl -LOC - https://ton.x.com/i/ton/data/archives/14755 758/twitter-2025-03-18-82a11ffb054e6ec92d5ef55bc1940fea 233/twitter-2025-03-26-82a11ffb054e6ec92d5ef55bc1940fea 23ac88109383d12fdf71f610bc37e96b.zip -H 'User-Agent: Mo 23ac88109383d12fdf71f610bc37e96b.zip -H 'User-Agent: Mo zilla/5.0 (X11; Linux x86_64; rv:137.0) Gecko/20100101 zilla/5.0 (X11; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0' -H 'Accept: text/html,application/xhtml+ Firefox/137.0' -H 'Accept: text/html,application/xhtml+ xml,application/xml;q=0.9,*/*;q=0.8' -H 'Accept-Languag xml,application/xml;q=0.9,*/*;q=0.8' -H 'Accept-Languag e: ja,en-US;q=0.7,en;q=0.3' -H 'Accept-Encoding: gzip, e: ja,en-US;q=0.7,en;q=0.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'DNT: 1' -H 'Connection: keep-ali deflate, br, zstd' -H 'DNT: 1' -H 'Connection: keep-ali ve' -H 'Referer: https://x.com/' -H 'Cookie: guest_id_m ve' -H 'Cookie: guest_id_marketing=v1%3A072107210721072 arketing=v1%3A072107210721072119; guest_id_ads=v1%3A072 119; guest_id_ads=v1%3A072107210721072119; personalizat 107210721072119; personalization_id="v1_Zfkq1SM6L5tpKK0 ion_id="v1_Xw+lQWffp06Am67TK9R1/g=="; guest_id=v1%3A072 FLVSLPw=="; guest_id=v1%3A072107210721072119; kdt=AnalD 107210721072119; kdt=AnalDansyakuUnkoChinChinBeeoUoUnko ansyakuUnkoChinChinBeeoUoUnkoUnkoh; twid=u%9Z07210721; Unkoh; twid=u%9Z07210721; ct0=1e07210fea307219c562ca072 ct0=1e07210fea307219c562ca072194a29b8cdf09d07219db55072 194a29b8cdf09d07219db55072162e600721a451e450721a319dd00 162e600721a451e450721a319dd00721fb2460cc60721bed4ad08cd 721fb2460cc60721bed4ad08cd17c251c746d0dd5c55ac807215d50 17c251c746d0dd5c55ac807215d507210b18bf8f0721fb5f0721qdq 7210b18bf8f0721fb5f0721qdq2f; auth_token=322b194b0721da 2f; auth_token=322b194b0721da1qdqdq0721b0721e22b91c35ce 1qdqdq0721b0721e22b91c35ce2; _twitter_sess=BakaBiIKIkxh 2; _twitter_sess=BakaBiIKIkxhc2hJQchichiQWN0aW9uQ29udHJ c2hJQchichiQWN0aW9uQ29udHJvbGxlcjo6Rc2g6OkZsYXNo%250ASG vbGxlcjo6Rc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7AA%0721% FzaHsABjoKQHVzZWR7AA%0721%253D--0721b91ac812d853bUnko9U 253D--0721b91ac812d853bUnko9Unko612b0721bebc74; __cf_bm nko612b0721bebc74; __cf_bm=5hq5aDAWc6HH97K1pCN61YM3WtZY =yubCEmuAnalX35z6zKT0721FnVdoQL.sJgyeRxDFCsc-0721864701 qWv9v3Z.Unkou0s-1743058370-1.0.1.1-G8k5snXONrXvQ71H.Pdt -1.0.1.1-mPLZAAJH0el4UnkoMhAnalAnalIMLh8cyBHoWUmz9qx.me ZbaT1DB_nID0721pth0jJmcLzCJjm.WleMBiv36ojRH5LpV0hLUNKOs vET6blvY8eE0721rnXEshS2v7pymswgOcevGSbxgF6u_aOgGdv5xInw lyZPPW_p9fqd_gtysmFiUnkoInorhvig' -H 'Upgrade-Insecure- XmHG9I' -H 'Upgrade-Insecure-Requests: 1' -H 'Sec-Fetch Requests: 1' -H 'Sec-Fetch-Dest: document' -H 'Sec-Fetc -Dest: document' -H 'Sec-Fetch-Mode: navigate' -H 'Sec- h-Mode: navigate' -H 'Sec-Fetch-Site: same-site' -H 'Se Fetch-Site: same-site' -H 'Sec-Fetch-User: ?1' -H 'Prio c-Fetch-User: ?1' -H 'Priority: u=0, i' -H 'TE: trailer rity: u=0, i' -H 'TE: trailers' s'
$ icdiff <(cat curl1.txt | sed -e 's/-H /\n-H /g' -e 's/; /;\n/g') <(cat curl2.txt | sed -e 's/-H /\n-H /g' -e 's/; /;\n/g')
/proc/self/fd/11 /proc/self/fd/12 curl -LOC - https://ton.x.com/i/ton/data/archives/14719 curl -LOC - https://ton.x.com/i/ton/data/archives/14755 758/twitter-2025-03-18-82a11ffb054e6ec92d5ef55bc1940fea 233/twitter-2025-03-26-82a11ffb054e6ec92d5ef55bc1940fea 23ac88109383d12fdf71f610bc37e96b.zip 23ac88109383d12fdf71f610bc37e96b.zip -H 'User-Agent: Mozilla/5.0 (X11; -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0' rv:137.0) Gecko/20100101 Firefox/137.0' -H 'Accept: text/html,application/xhtml+xml,application -H 'Accept: text/html,application/xhtml+xml,application /xml;q=0.9,*/*;q=0.8' /xml;q=0.9,*/*;q=0.8' -H 'Accept-Language: ja,en-US;q=0.7,en;q=0.3' -H 'Accept-Language: ja,en-US;q=0.7,en;q=0.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'DNT: 1' -H 'DNT: 1' -H 'Connection: keep-alive' -H 'Connection: keep-alive' -H 'Referer: https://x.com/' -H 'Cookie: guest_id_marketing=v1%3A072107210721072119; -H 'Cookie: guest_id_marketing=v1%3A072107210721072119; guest_id_ads=v1%3A072107210721072119; guest_id_ads=v1%3A072107210721072119; personalization_id="v1_Zfkq1SM6L5tpKK0FLVSLPw=="; personalization_id="v1_Xw+lQWffp06Am67TK9R1/g=="; guest_id=v1%3A072107210721072119; guest_id=v1%3A072107210721072119; kdt=AnalDansyakuUnkoChinChinBeeoUoUnkoUnkoh; kdt=AnalDansyakuUnkoChinChinBeeoUoUnkoUnkoh; twid=u%9Z07210721; twid=u%9Z07210721; ct0=1e07210fea307219c562ca072194a29b8cdf09d07219db55072 ct0=1e07210fea307219c562ca072194a29b8cdf09d07219db55072 162e600721a451e450721a319dd00721fb2460cc60721bed4ad08cd 162e600721a451e450721a319dd00721fb2460cc60721bed4ad08cd 17c251c746d0dd5c55ac807215d507210b18bf8f0721fb5f0721qdq 17c251c746d0dd5c55ac807215d507210b18bf8f0721fb5f0721qdq 2f; 2f; auth_token=322b194b0721da1qdqdq0721b0721e22b91c35ce2; auth_token=322b194b0721da1qdqdq0721b0721e22b91c35ce2; _twitter_sess=BakaBiIKIkxhc2hJQchichiQWN0aW9uQ29udHJvbG _twitter_sess=BakaBiIKIkxhc2hJQchichiQWN0aW9uQ29udHJvbG xlcjo6Rc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7AA%0721%253 xlcjo6Rc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7AA%0721%253 D--0721b91ac812d853bUnko9Unko612b0721bebc74; D--0721b91ac812d853bUnko9Unko612b0721bebc74; __cf_bm=yubCEmuAnalX35z6zKT0721FnVdoQL.sJgyeRxDFCsc-072 __cf_bm=5hq5aDAWc6HH97K1pCN61YM3WtZYqWv9v3Z.Unkou0s-174 1864701-1.0.1.1-mPLZAAJH0el4UnkoMhAnalAnalIMLh8cyBHoWUm 3058370-1.0.1.1-G8k5snXONrXvQ71H.PdtZbaT1DB_nID0721pth0 z9qx.mevET6blvY8eE0721rnXEshS2v7pymswgOcevGSbxgF6u_aOgG jJmcLzCJjm.WleMBiv36ojRH5LpV0hLUNKOslyZPPW_p9fqd_gtysmF dv5xInwXmHG9I' iUnkoInorhvig' -H 'Upgrade-Insecure-Requests: 1' -H 'Upgrade-Insecure-Requests: 1' -H 'Sec-Fetch-Dest: document' -H 'Sec-Fetch-Dest: document' -H 'Sec-Fetch-Mode: navigate' -H 'Sec-Fetch-Mode: navigate' -H 'Sec-Fetch-Site: same-site' -H 'Sec-Fetch-Site: same-site' -H 'Sec-Fetch-User: ?1' -H 'Sec-Fetch-User: ?1'