我有如下文字:
UgxJam3R6oHGHJMrbHx4AaABAg,,hqJGuSXaWcY,UCkhUJbKZIZsARJx7UsX7nw,NAME,https://URLYOUDONTNEEDTOSEE,2023-03-03T22:45:53,Sometextineed,1,false,0,
我想要使用sed
或其他东西来删除并使其像这样:
https:/blablabl.com/UCkhUJbKZIZsARJx7UsX7nw,NAME,2023-03-03T22:46:53,Sometextineed
*,,*, replaced with url
我对 Linux 的使用还不熟悉,但不太明白它是如何sed
工作的。我试过一些东西。
请给我一个我可以复制粘贴的解决方案。
好的,我有一个文件,里面有 (random,,random,) 乘以 10000,我需要删除它。所有行都具有相同的结构。
答案1
在 bash 中只需使用这个:
mystring=UgxJam3R6oHGHJMrbHx4AaABAg,,hqJGuSXaWcY,UCkhUJbKZIZsARJx7UsX7nw,NAME,https://URLYOUDONTNEEDTOSEE,2023-03-03T22:45:53,Sometextineed,1,false,0,
IFS=',' read -ra ADDR <<< "$mystring"
echo "https://blablabl.com/${EX[3]},${EX[4]},${EX[6]},${EX[7]}"
mystring
第一行是你的字符串
如果您想在文件中执行此操作,只需运行以下命令:
sed -i "s/^\([^,]*\),\([^,]*\),\([^,]*\),\([^,]*\),\([^,]*\),\([^,]*\),\([^,]*\),\([^,]*\),.*$/https:\/\/blablabl.com\/\4,\5,\7,\8/" /tmp/mytest.txt
/tmp/mytest.txt
命令末尾是文件名