如何复制文件并将数字替换为X?

deu*_*euq 1 linux bash zsh

我在 home/files/file.txt 中有文件

其内容混合了字母和数字

SDA212 
123DD2
31dD
Run Code Online (Sandbox Code Playgroud)

我想将文件复制到其他目录,同时用 X 字母替换数值?我有什么办法可以做到这一点?

Jon*_*ves 5

听起来像是一份工作sed

sed -e 's/[0-9]/X/g' /home/files/file.txt > /path/somewhere/else.txt
Run Code Online (Sandbox Code Playgroud)

结果:

SDAXXX 
XXXDDX
XXdD
Run Code Online (Sandbox Code Playgroud)

编辑:正如@Ted Lyngmo 所指出的,根据您的 版本sed,您可以使用\d数字转义:

sed -e 's/\d/X/g' /home/files/file.txt > /path/somewhere/else.txt
Run Code Online (Sandbox Code Playgroud)

请注意,这是一个 gnu 扩展,可能并非在所有系统上都可用。