相关疑难解决方法(0)

RE错误:Mac OS X上的非法字节序列

我正在尝试替换Mac OS X上的Makefile中的字符串,以便交叉编译到iOS.该字符串嵌入了双引号.命令是:

sed -i "" 's|"iphoneos-cross","llvm-gcc:-O3|"iphoneos-cross","clang:-Os|g' Configure
Run Code Online (Sandbox Code Playgroud)

错误是:

sed: RE error: illegal byte sequence
Run Code Online (Sandbox Code Playgroud)

我试着逃避双引号,逗号,破折号和冒号,没有任何快乐.例如:

sed -i "" 's|\"iphoneos-cross\"\,\"llvm-gcc\:\-O3|\"iphoneos-cross\"\,\"clang\:\-Os|g' Configure
Run Code Online (Sandbox Code Playgroud)

我有一点时间调试这个问题.有谁知道如何sed打印非法字节序列的位置?或者有谁知道非法字节序列是什么?

regex macos bash sed

163
推荐指数
5
解决办法
11万
查看次数

无效的命令代码.,尽管使用sed转义周期

被迫将CVS用于当前客户端并更改了远程仓库的地址.我可以找到更改本地代码中的远程地址的唯一方法是递归搜索和替换.

但是,使用sed命令我期望工作:

find ./ -type f -exec sed -i "s/192.168.20.1/new.domain.com/" {} \;

我收到每个文件的错误:

sed: 1: ".//file/path ...": invalid command code .

我试图逃脱sed比赛/替换的时期,但这并没有解决任何问题.

macos bash sed

162
推荐指数
4
解决办法
8万
查看次数

如何从ZSH中的历史记录中删除条目

假设我使用zsh运行命令

echo "mysecret" > file

我可以使用以下命令轻松打印包含条目号的历史记录fc -l:

1  echo "mysecret" >| file
Run Code Online (Sandbox Code Playgroud)

但是,如何从历史记录中轻松删除条目?

我在man zshbuiltins中找不到相应的段落.

zsh

73
推荐指数
5
解决办法
3万
查看次数

二进制sed替换

我试图sed在二进制文件中进行替换,但我开始相信这是不可能的.基本上我想做的是类似于以下内容:

sed -bi "s/\(\xFF\xD8[[:xdigit:]]\{1,\}\xFF\xD9\)/\1/" file.jpg
Run Code Online (Sandbox Code Playgroud)

我希望实现的逻辑是:扫描二进制文件直到十六进制代码FFD8,继续读取直到FFD9,并且只保存它们之间的内容(丢弃之前和之后的垃圾,但包括FFD8FFD9作为文件的保存部分)

有没有办法做到这一点?即使不使用sed

编辑: 我只是在玩,并找到了最干净的方式去做IMO.我知道这个grep声明会贪婪.

hexdump -ve '1/1 "%.2x"' dirty.jpg | grep -o "ffd8.*ffd9" | xxd -r -p > clean.jpg
Run Code Online (Sandbox Code Playgroud)

binary perl hex replace sed

13
推荐指数
2
解决办法
2万
查看次数

shell中的范围之间的随机数

如何在sh(0/sh/sh,而不是bash)中生成0-60之间的随机数?这是一个卫星箱,没有$RANDOM变量,和其他商品[cksum,od(od -vAn -N4 -tu4 </ dev/urandom)].

我想随机化一个crontab作业的时间.

linux random shell

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

sed ×3

bash ×2

macos ×2

binary ×1

hex ×1

linux ×1

perl ×1

random ×1

regex ×1

replace ×1

shell ×1

zsh ×1