在列中用 \ 替换 \\

在列中用 \ 替换 \\

mysql我从hashcat 中导出了包含数千个盐的列。在导出的列中,该字符的每个实例都\被替换为双字符。\\

有没有办法将sedawk精度型\\替换为单精度型\

或者有没有办法让mysql不将单字符导出\为双字符?

我使用以下 mysql 命令:

SELECT salt FROM user
INTO OUTFILE 'salts'
FIELDS TERMINATED BY ‘:'
LINES TERMINATED BY '\n'   

这些盐的长度为三个字符,并且似乎使用了键盘上的每个字符。

我尝试过以下 sed 命令:

sed 's/\(.^C\1/\1/g' file.txt  

它将双精度替换\\为单精度\,但它也删除了一些我不希望的双精度字符的其他实例。

答案1

如果你想用 with 替换\\\sed只需要转义每个\,例如:

$ printf "%s\n" 'a\\b'
a\\b
$ printf "%s\n" 'a\\b' | sed 's/\\\\/\\/g'
a\b

但是,坦率地说,在你的情况下,最好纠正mysql命令,所以我认为这个问题更适合stackoverflow.com

相关内容