我有一个很大的 utf-8 文本文件,我经常用grep
. 最近grep
开始报告它是一个二进制文件。我可以继续用 搜索它grep -a
,但我想知道是什么改变使它决定文件现在是二进制的。
我有一份上个月的副本,该文件不再被检测为二进制文件,但这对diff
他们来说不切实际,因为它们在 > 20,000 行上有所不同。
file
将我的文件标识为
UTF-8 Unicode 英文文本,行很长
我怎样才能找到字符/行/等。在我的文件中触发了这个变化?
类似的非重复问题19907涵盖了 NUL 的可能性,但grep -Pc '[\x00-\x1F]'
表示我没有 NUL 或任何其他 ANSI 控制字符。
我正在尝试解决新安装的问题。我正在使用/dev/sdb
安装在/dev/sda
. 我很高兴我不厌其烦地在不同的磁盘上设置这些,因为我无法启动到新的操作系统。我得到的只是 grub 错误 15“找不到文件”。它还提供了我已验证正确的 UUID:
sudo blkid
/dev/sda1: LABEL="boot" UUID="b891774a-0b2d-4ab4-bcfa-23a11a97cae5" TYPE="ext2"
/dev/sda2: UUID="fc34999a-e85d-4c7b-8775-30510eb4c396" TYPE="swap"
/dev/sda3: LABEL="main" UUID="65a90a0d-a651-4215-8552-0c1859ab61dd" TYPE="ext4"
Run Code Online (Sandbox Code Playgroud)
/dev/sdb
新操作系统的 menu.lst (on ) 是
title Gentoo Linux 3.10.7-r1
uuid b891774a-0b2d-4ab4-bcfa-23a11a97cae5
#root (hd0,0)
kernel /kernel-3.10.7-gentoo root=UUID=65a90a0d-a651-4215-8552-0c1859ab61dd
Run Code Online (Sandbox Code Playgroud)
我也试过
kernel /boot/kernel-3.10.7-gentoo root=UUID=65a90a0d-a651-4215-8552-0c1859ab61dd
Run Code Online (Sandbox Code Playgroud)
但由于 UUID 直接进入引导分区,我认为这是错误的。
内核应该是正确的;如果我安装dev/sda1
并且ls
我看到
grub kernel-3.10.7-gentoo
Run Code Online (Sandbox Code Playgroud)
任何想法我做错了什么?它可能非常基础;我只使用 Linux 几年,从来没有使用过 Gentoo,除了在chroot
.
我应该提到我也安装了 grub2,dev/sda1
虽然我还没有到那里:它只显示 grub '命令行'。
使用它cron
来安排作业定期发生非常简单。我希望某些事情不那么频繁地发生——比如说,运行作业,然后等待 2 到 12 个小时,然后再试一次。(任何合理类型的随机性都可以在这里工作。)有没有好的方法可以做到这一点?