linux - 将模式的奇数和偶数出现替换为另一个相同的模式

有一个场景可以用除以 2 时的商数替换反斜杠的偶数和奇数。

For example
Input: (15 backslashes)
\\\\\\\\\\\\\\\
output: (7 backslashes)
\\\\\\\

Input: (14 backslashes)
\\\\\\\\\\\\\\
output: (7 backslashes)
\\\\\\\

我尝试使用 sed 命令,该命令可将 4 个反斜杠转换为 2 个。 sed 's/\\\\/\\/g'

如有帮助,不胜感激。

最佳答案

你可以试试这个awk:

cat file

\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\

# using awk
awk '{print substr($0, 1, int(length($0)/2))}' file

\\\\\\\
\\\\\\\

https://stackoverflow.com/questions/68557593/

相关文章:

flutter - 如何在 Flutter 的 FutureBuilder 中调用 setState

c++ - 从 std `vector` 库创建的 `` 和从 : `STL vec

python - 无法让 VS Code 将参数从 launch.json 传递给 Python

android - 无法查询属性 'namespace' 的值

python - 检查文件夹,如果不存在则创建它

javascript - Vue 3 defineEmits 打破了 defineProps 类型

python - 正则表达式:在前瞻断言的最后一场比赛之后直到前瞻断言的第一场比赛之后查找文本

rust - 如何以小写形式显示枚举?

java - 在orElseThrow中执行多行

c++ - 未初始化的引用是否为零初始化和未初始化的标量默认初始化?