我上周阅读了关于sed的内容,现在,我使用sed从文件中提取一些,很好,现在,我想将第一列中的数据更改为行号说
1 3 3 0 0 0 1 3 35 34
16 3 3 0 0 0 34 35 33 19
31 3 3 0 0 0 19 33 71 68
46 3 3 0 0 0 68 71 72 69
61 3 3 0 0 0 69 72 73 70
76 3 3 0 0 0 70 73 67 53
Run Code Online (Sandbox Code Playgroud)
并将第一列更改为1到6,如何在awk或sed中执行此操作?最好的,Umut
练习一些python,这是一个很容易抓住的语言.
我有
>>> L = [1,2,3,4]
>>> L[1:1] = [1,2,3]
>>> L
[1, 1, 2, 3, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
所以第二行实际上L[1:1]是空列表,但是python如何理解插入[1,2,3]列表从中开始1.我猜有一些内部对我们来说是不透明的,显然,我猜它会L[1:1]返回索引的引用,1即使它返回一个空列表...
祝福,Umut
也许是天真的问题,g++ 是否有单独的编译和链接选项列表,我的意思是一个显示哪些选项用于编译、哪些选项用于链接的列表。gcc 手册说这些是链接选项
http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html#Link-Options
除了这些之外的选项是编译选项吗?我在阅读 GCC 明确指南时感到困惑。
在.emacs文件中的emacs中为我的lisp文件设置路径之后,就像这样
(add-to-list'load-path"〜/ elisp /")
从逻辑上讲,我还应该对特定文件使用load命令,我猜这是什么命令
我试过了
(load-file-name"google-c-style"),同时为文件添加.el,这应该是正确的方法
但没有成功.
我在comp.lang.c ++上做了一个帖子,得到了这个
但这仍然不是答案.
我对二进制读操作有点困惑.
我试图用流函数读取二进制文件.这是商业程序(ANSYS)的结果文件,我知道文件的结构,至少从手册中知道.
该文件的结构为记录,程序以fortran编写.所以结构就像
记录长度(int)虚拟整数数据(可以是int,double)虚拟整数
第一个记录是100个整数块,其中这对应于上述表示中的数据.
如果我开始读取文件并读取第一个值,即记录长度(整数),我必须交换字节以获得正确的值100.
我不明白为什么我必须交换字节,因为这个文件是在同一台机器上生成的,它们应该使用相同的系统特定例程,所以这不应该是一个问题,但似乎并非如此.还有其他事情正在发生.我无法理解这一点.软件是否可以强制交换字节,我很难理解原因?
任何评论都表示赞赏.
这是一个天真的测试用例
int main () {
ifstream myfile;
char intBuffer[4];
myfile.open ("truss.rst", ios::binary);
myfile.read(intBuffer, sizeof(int));
//cout << *((int*)intBuffer) << endl;
// if I do not use this portion-
// I do not get what I want
char *cptr, tmp;
tmp = intBuffer[0];
intBuffer[0] = intBuffer[3];
intBuffer[3] = tmp;
tmp = intBuffer[1];
intBuffer[1] = intBuffer[2];
intBuffer[2] = tmp;
// -----------------------------
cout << *((int*)intBuffer) << endl;
myfile.close();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
最好的,美国
第二次拆包不打印,是什么原因?
for a in stok.iteritems():
... c, b = a
... print c, b
Run Code Online (Sandbox Code Playgroud)
这个是有效的
但这个不是
for a in stok.iteritems():
... print c, b = a
Run Code Online (Sandbox Code Playgroud) 我试图使用boost和标准的unordered_set为应用程序,目的是找到这个地方,即该集合中某些元素的索引.结果之间存在细微差别.根据这个简单的程序,提升中的元素是相反的.问题出在哪儿?
简单的"假设"代码:
#include <iostream>
#include <iterator>
#include <unordered_set>
#include <boost/unordered_set.hpp>
//using boost::unordered_set;
using std::unordered_set;
using std::distance;
int main()
{
unordered_set<int> Set;
int sz = 10;
for(int k=0;k<sz;k++)
Set.insert(k);
unordered_set<int>::iterator ind_searched = Set.find(8);
unordered_set<int>::size_type indx = distance( Set.begin(),
ind_searched );
std::cout << " Index of element is "
<< indx << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我得到了提升
Index of element is 1
Run Code Online (Sandbox Code Playgroud)
我正在使用标准的unordered_set
Index of element is 8
Run Code Online (Sandbox Code Playgroud)
我用两个编译
g++ sgi_stl_1.cc -I /home/utab/external_libraries/boost_1_48_0/ -std=c++0x
Run Code Online (Sandbox Code Playgroud) 我想从paraview导出高质量的矢量图形,但是除了svg(svg也不完美但ps和eps更好)之外,所有导出的矢量图形格式似乎都有点模糊.有没有解决这个问题的方法,我可以获得出版质量的图像?