Kotlin新手,我想在文件中的特定匹配后在文件中插入一行.我知道如何使用sed执行此操作,如下所示:
sed "/some line in file/a some text I'd like to add after line" file
Run Code Online (Sandbox Code Playgroud)
但是我想知道我将如何在Kotlin中解决这个问题.到目前为止,我已经得到了printWriter接口,但我没有看到任何明显暗示偏移或正则表达式参数的东西.
到目前为止我有:
File("file.txt").printWriter(...)
Run Code Online (Sandbox Code Playgroud)
谢谢!
我试图直接在我们公司的后端从我们的Google Analytics帐户中提供一些基本数据.我正在使用Google API PHP客户端.
我已经关注了Hello Analytics API教程,但它让我有义务从浏览器进行连接.我需要从服务器本身获得信息(没有浏览器客户端连接),因为我想从Cron任务中自动执行查询.
我想做什么?我使用正确的PHP API吗?有没有不同的方法来取回GA数据?
我目前正在构建一个可执行的裸机,它包含一些包含代码的特殊部分.但是,当我这样做时,objdump -d我只获取.text和.init.text部分的代码.该联机帮助页objdump仅表示在使用该-d选项时"仅拆解那些预计包含说明的部分" .这些是哪些部分,以及如何objdump解释要解码的部分?我知道我也可以使用该-D选项来获得所有部分的完整解码,但这通常比我需要的要多得多.
出于教学目的,我正在寻找适用于 Mac、Windows 和 Linux 的独立 PHP 二进制文件。
计划是将二进制文件作为单个文件分发给学生以测试 PHP 脚本,而无需安装完整的 Web 服务器。我希望能够使用 CLI 来做这样的事情:
# (Mac)
cd php-binary
./php …
# (Win)
cd php-binary
.\php.exe …
Run Code Online (Sandbox Code Playgroud)
我特别希望能够执行:
php -S localhost:8000
Run Code Online (Sandbox Code Playgroud)
我需要确保二进制文件已静态安装所有内容,因此不依赖于外部库,也没有版本问题。
问题是,这些二进制文件是免费提供的吗?如果做不到这一点,它们可以很容易地编译吗?
我问如何使用Python3在单元测试中模拟类属性.我已经尝试了以下内容,这对我来说对文档很有意义,但它不起作用:
foo.py:
class Foo():
@property
def bar(self):
return 'foobar'
def test_foo_bar(mocker):
foo = Foo()
mocker.patch.object(foo, 'bar', new_callable=mocker.PropertyMock)
print(foo.bar)
Run Code Online (Sandbox Code Playgroud)
我已经安装pytest并pytest_mock运行了这样的测试:
pytest foo.py
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
> setattr(self.target, self.attribute, new_attr)
E AttributeError: can't set attribute
/usr/lib/python3.5/unittest/mock.py:1312: AttributeError
Run Code Online (Sandbox Code Playgroud)
我的期望是测试运行没有错误.
我想找到所有mp41920x1080 的文件。
如果我做
find . -type f -name \*.mp4 -exec ffprobe '{}' \; 2>&1
Run Code Online (Sandbox Code Playgroud)
它将找到所有mp4文件并显示视频信息。例如,输出是否包含(在其他行中)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './5432223.mp4':
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 1744 kb/s, 29.97 fps, 29.97 tbr, 60k tbn, 59.94 tbc
Run Code Online (Sandbox Code Playgroud)
我目前的想法是
find . -type f -name \*.mp4 -print0|xargs -0 -n1 echo
for f in $(find . -type f -name \*.mp4); do ffprobe $f 2>&1 | grep 1920x1080;done
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何if grep -q 1920x1080在第一个和第二个空格中合并和 文件名中的输出弄乱了输出。
题
如果输出匹配,如何仅输出带路径的文件名 …
我想找出这两个网络之间CIDR表示法中的所有IPv4网络:
10.11.3.64-10.11.3.127
10.11.52.0-10.11.52.255
Run Code Online (Sandbox Code Playgroud)
IPv4网络应具有尽可能短的子网掩码.
转换10.11.3.127为二进制,添加1并转换回十进制以获取网络的第一个地址相当容易.然后转换10.11.52.0为二进制,减去1并转换回十进制,以获得网络的最后一个地址.但是,为了找出10.11.3.128-10.11.51.255范围内的CIDR块,有哪些建议哪些算法很聪明?只是一个建议,我认为哪个方向可能足够:)
根据下面的PHP代码,输出是
1 . 1
2 . 2
3 . 3
Run Code Online (Sandbox Code Playgroud)
我理解&$ ref是通过引用传递的.但是就像赋值($ row =&$ ref;)之后,只要'row'改变了值,'ref'就会变成与'row'相同的值.真的很混乱.似乎=不仅仅是向左分配正确的值.有人可以验证一下吗?
<?php
$ref = 0;
$row = &$ref;
foreach (array(1, 2, 3) as $row) {
print "$row . $ref \n" ;
}
echo $ref;
?>
Run Code Online (Sandbox Code Playgroud) 我有以下JSON:
[
{
"function": "ping",
"name": "start",
"servers": [
{
"load": 581.6875,
"last_heard": 2.379324197769165,
"version": "1.0",
"hidden": false,
"pid": "19735"
},
{
"load": 444.0625,
"last_heard": 1.3227169513702393,
"version": "1.0",
"hidden": false,
"pid": "12092"
}
]
},
{
"function": "pong",
"name": "middle",
"servers": [
{
"load": 581.6875,
"last_heard": 2.379324197769165,
"version": "2.0",
"hidden": false,
"pid": "19735"
},
{
"load": 444.0625,
"last_heard": 1.3227169513702393,
"version": "3.0",
"hidden": false,
"pid": "12092"
},
{
"load": 444.0625,
"last_heard": 1.3227169513702393,
"version": "3.0",
"hidden": false,
"pid": "12093"
}
]
}, …Run Code Online (Sandbox Code Playgroud) 我试图du -ch在多个目录上运行,但我只是分开它只显示所有文件的总大小(我不想要每个单独的文件,然后是最后的总数是什么-c).
php ×3
bash ×2
linux ×2
bare-metal ×1
disassembly ×1
du ×1
find ×1
grep ×1
jq ×1
json ×1
kotlin ×1
networking ×1
objdump ×1
pytest ×1
python ×1
python-3.x ×1
python-mock ×1
sed ×1
subnet ×1