想让文件中的每一行重复固定次数。
例如,每行重复四次:
a
b
c
Run Code Online (Sandbox Code Playgroud)
变成:
a
a
a
a
b
b
b
b
c
c
c
c
Run Code Online (Sandbox Code Playgroud)
我已经进行了一些搜索,并且有很多问题和答案都是按照相反的方式进行的,例如将重复的行合并为单行,也许还有一些关于通过再次打印来加倍行的问题。
在 C 中这样做很容易,但我希望我对本地命令有更多的了解,这样我就不必一直求助于这些一次性的东西。
我想dc用十六进制点处理一些基数为 16 的数字,但我遇到了精度问题。例如,下面,我乘F423F.FD用100,无论是十六进制。预期的答案是F423FFD,而不是给出F423FFA.E1,接近但即使在四舍五入后也不够准确。
$ dc
16 d i o F423F.FD 100 * p
F423FFA.E1
Run Code Online (Sandbox Code Playgroud)
我读到这dc是一个无限精度的计算器,无论如何这都不是一个很大的数字。有什么我做错了吗?
感谢您的回答。考虑到 的问题dc,我硬着头皮写了自己的解析器来解析其他基数的实数。如果有人对代码感兴趣,我可以在这里发布。
我想要一个程序P,它从 读取stdin和写入stdout,但将它连接到nc或任何其他端口,以便它从某个端口读取并输出到另一个端口。
# The reading is easy, here P reads from port 50505
nc -l 50505 | P
Run Code Online (Sandbox Code Playgroud)
我如何让它写回端口 60606?
在我的 RasPi 板 Debian Linux 上,USB 麦克风偶尔会被锁定,以至于没有人可以使用它。麦克风有一个 LED,它通常会闪烁,当它锁定时,它会关闭。
该实用程序arecord对其进行了如下描述:
card 1: Device [DYNEX USB MIC Device], device 0:USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
Run Code Online (Sandbox Code Playgroud)
当麦克风停止工作时,arecord给出如下诊断:
> arecord -D plughw:1,0 > recording.wav
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
arecord: set_params:1145: Unable to install hw_params:
ACCESS: RW_INTERLEAVED
FORMAT: U8
etc...
Run Code Online (Sandbox Code Playgroud)
拔下和插入麦克风修复它,只是因为当前的下降迫使 RasPi 重新启动!不是理想的情况。
有没有办法从命令行或 C 可执行文件解决这个问题?
我还尝试使用ioctl(fd, USBDEVFS_RESET, 0)from 的输出lsusb来提供总线和设备编号。这会使 LED 重新亮起,但这太过分了。必须使用 alsamixer 重新设置设备。
试图确定文件中的所有字符。
该文件sample包括:
a e?
abandon ??bænd?n
ability ??b?l?ti
able ?e?b?l
able ?e?bl
abortion ??b?r??n
abortion ??b?r?n
about ??ba?t
above ??b?v
abroad ??br?d
Run Code Online (Sandbox Code Playgroud)
确认语言环境正确:
$ echo $LANG
en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
获取第二个字段的命令,按字符拆分,然后计算数量:
$ cat sample | awk '{print $2}' | grep -o . | sort | uniq -c | sort -n
1 a
1 æ
1 i
1 v
2 d
2 t
3 e
3 l
3 ?
3 r
4 n
9 b
11 ?
17 ?
Run Code Online (Sandbox Code Playgroud)
?和在哪里? …
给定这样的输入:
x y a b c t
p q w w t
a b c d
p q r
Run Code Online (Sandbox Code Playgroud)
我想将字段 3 中的字段连接到但不包括最后一个字段。如果字段 3 是最后一个字段,我想插入一个占位符。因此,鉴于上面的输入,这是首选输出:
x y a_b_c t
p q w_w t
a b c d
p q _ r
Run Code Online (Sandbox Code Playgroud)
最终结果是所有行都将有四个字段。这在 awk 或 cut 或 sed 等中可能吗?
我想fgrep用 . 中的句点和其他元字符来处理搜索文字grep,但我需要确保该词位于行的开头。
例如,fgrep 'miss.'将miss.准确匹配哪个是我想要的,但也匹配admiss.或co. miss.我不想要的。
我也许能够转义元字符,例如grep '^miss\.',但源是如此之大,我一定会错过一些东西,然后需要再次运行它(将需要整个晚上)。在某些情况下,例如\1,转义代码是具有“元含义”的代码。
有什么办法解决这个问题吗?
例如,根据维基词典,这是“when”的发音。enPR、IPA 和 X-SAMPA 是不同的发音方案。
when:* {{a|US}} {{enPR|w?n|hw?n}}, {{IPA|/w?n/|/??n/}}, {{X-SAMPA|/wEn/|/WEn/}}
Run Code Online (Sandbox Code Playgroud)
我想提取关键字when及其两个 IPA 发音,并将它们放在单独的行中:
when w?n
when ??n
Run Code Online (Sandbox Code Playgroud)
一个词可能有一个、两个或多个 IPA 发音,可能有也可能没有 enPR 或 X-SAMPA 发音。
我在考虑 PHP,列表中的列表,但这似乎有点矫枉过正,如果可能的话,我不希望用户必须安装它。有没有办法在 awk、sed、cut 或其他标准的 Unix 命令行实用程序中做到这一点?