假设我有一个文本文件,其中的数据由空格分隔成列.我想编写一个shell脚本,它将文件名和数字N作为输入,只打印出该列.使用awk我可以执行以下操作:
awk < /tmp/in '{print $2}' > /tmp/out
Run Code Online (Sandbox Code Playgroud)
此代码打印出第二列.
但是如何在shell脚本中包装它以便在argv中传递任意列?
我将花30分钟向一位经验丰富的程序员教授Perl.学习Perl的最好方法是编写代码.除了CPAN之外,你会向程序员展示什么,以便他们理解Perl的表现力,CPAN提供的功能量,同时保持一切干净整洁,让他们对语言感到满意?我会把这些棘手的东西保存到另一天.
use warnings;
use strict;
# use A_CPAN_LIB;
sub example_func1 {
# use the CPAN lib or demonstrate some basic feature of Perl
}
example_func1();
# ...
__END__
信不信由你,男人页.好吧,我们只是使用perldoc代替Windows友好.
perldoc页面(或Unix/Mac上的手册页)非常适合Perl.你可以输入man perl或perldoc perl
perldoc perl ; #显示概述和几十个教程; 男人perl是一样的.
perldoc perlintro ; #初学者的Perl介绍; 男人perlintro
perldoc perlrequick ; #Perl正则表达式的一个例子
perldoc perlfunc ; #显示内置Perl函数
perldoc perlre ; #更多Perl正则表达式.
Perl库站点CPAN上有数千个库.
perl -MCPAN -e'安装DateTime'
perldoc也适用于已安装的模块:perldoc模块
perldoc DateTime
perldoc DBI ; #Database API.如果这不起作用,那么安装它:
perl -MCPAN -e'install DBI'
perl -MCPAN -e'安装Moose' ; #Perl做OOP …
我正在寻找一种将文件上传到s3的方法.我正在使用django.我目前正在使用amazon的python库上传以下代码:
视图:
def submitpicture(request):
fuser = request.session["login"]
copied_data = request.POST.copy()
copied_data.update(request.FILES)
content_type = copied_data['file'].get('content-type')
ffile = copied_data['file']['content']
key = '%s-%s' % (fuser, ''.join(copied_data['file']['filename'].split(' ')))
site_s3.save_s3_data(key, ffile, content_type)
Run Code Online (Sandbox Code Playgroud)
模板:
<form action="/submitpicture/" method="POST">
<input type="file" id="file" name="file" />
<input type="submit" value="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
但是,当我实际尝试运行它时,我收到以下错误:
"Key 'file' not found in <QueryDict: {}>"
#MultiValueDictKeyError
Run Code Online (Sandbox Code Playgroud)
我真的不明白我做错了什么.有人能指出我正确的方向吗?
编辑:为了防止有人想知道,我计划在实际上传工作后添加一些验证.
我正在编写文本编辑器.在查看其他文本编辑器后,我注意到其中一些是指"软"与"硬"包装.有什么不同?我似乎无法通过搜索找到答案.
这是所有C#专家.我已经在这个问题上敲了一段时间,在网上尝试各种建议但没有用.该操作发生在Windows Mobile 5.0中.
我有一个名为MyDll.dll的DLL.在MyDll.h我有:
extern "C" __declspec(dllexport) int MyDllFunction(int one, int two);
Run Code Online (Sandbox Code Playgroud)
MyDll.cpp中MyDllFunction的定义是:
int MyDllFunction(int one, int two)
{
return one + two;
}
Run Code Online (Sandbox Code Playgroud)
C#类包含以下声明:
[DllImport("MyDll.dll")]
extern public static int MyDllFunction(int one, int two);
Run Code Online (Sandbox Code Playgroud)
在同一个类中,我通过以下方式调用MyDllFunction:
int res = MyDllFunction(10, 10);
Run Code Online (Sandbox Code Playgroud)
这就是血腥的事情让我"无法找到PInvoke DLL'MyDll.dll'"的地方.我已经验证我可以在系统调用上实际执行PInvoke,例如"GetAsyncKeyState(1)",声明为:
[DllImport("coredll.dll")]
protected static extern short GetAsyncKeyState(int vKey);
Run Code Online (Sandbox Code Playgroud)
MyDll.dll与可执行文件位于同一文件夹中,我也尝试将其放入/ Windows文件夹中,没有任何更改也没有成功.任何建议或解决方案都非常感谢.
我花了很多时间研究VIM.我是自从过去6年以来的Windows家伙,并且正在使用VS. 现在开始研究Linux了.我想让VIM尽可能接近VS. 我想在Project AutoCompletion中搜索不同选项卡中的项目导航文件等功能
我找到了上述要求的插件Project Pligin MiniExplore Taglist OmniComplete
我无法正确设置vimrc脚本.当我尝试从Project打开文件时,它会在不同的选项卡中打开.我想在不同的缓冲区中打开它.此外,当我想在缓冲区中关闭文件时,完整窗口将关闭.打开标签列表和项目窗口会让一切变得混乱.
有没有人用这些插件完成设置..你们可以发贴你的vimrc文件吗?它会为像我这样的新手节省很多时间..
我想使用Linq来查询我项目中的公交时刻表,以便随时可以获得下一个5次公交车到达时间.如何将查询限制为前5个结果?
更一般地说,我如何在C#中获取一个列表?(在Python中我会mylist[:5]用来获得前5个元素.)
这是一个后续问题.所以,Java商店的整数是两个补码,你可以做到以下几点:
int ALPHA_MASK = 0xff000000;
Run Code Online (Sandbox Code Playgroud)
在C#中,这需要使用无符号整数uint,因为它将此解释为4278190080而不是-16777216.
我的问题是,如何在c#中以十六进制表示法声明负值,以及内部表示的整数究竟是如何?这里与Java有什么不同?
所以我编写了偶尔崩溃的错误代码......并创建了一个stackdump文件.
使用addr2line我可以通过解码一个地址来弄清楚程序如何到达崩溃点.是否有替代工具可以使用堆栈转储简化调试?有没有办法在Insight/Gdb中加载此信息?
给出了几个这样的简单表格:
create table R(foo text);
create table S(bar text);
Run Code Online (Sandbox Code Playgroud)
如果我在查询中将它们组合在一起,我该怎么称呼该列?
select T.????
from (
select foo
from R
union
select bar
from S) as T;
Run Code Online (Sandbox Code Playgroud)
现在,在mysql中,我显然可以将T的列称为'foo' - 联合中第一个关系的匹配列的名称.但是,在sqlite3中,这似乎不起作用.有没有办法在所有SQL实现中做到这一点?
如果没有,那对于sqlite3怎么样?
更正:sqlite3确实允许你将T的列称为'foo'毕竟!哎呀!