小编luk*_*mac的帖子

符号链接:查找链接到此文件的所有文件

你好,我需要在linux中这样做:

  • 给定:文件名'foo.txt'
  • 查找:所有文件都是'foo.txt'的符号链接

怎么做?谢谢!

linux symlink

107
推荐指数
3
解决办法
7万
查看次数

根据Bash中字段的数值排序

示例: File.txt的内容:

  100 foo
  2 bar
  300 tuu
Run Code Online (Sandbox Code Playgroud)

当使用'sort -k 1,1 File.txt'时,行的顺序不会改变,尽管我们期望:

  2 bar
  100 foo
  300 tuu
Run Code Online (Sandbox Code Playgroud)

我们如何根据绝对数值对包含数字的字段进行排序?

linux sorting command

103
推荐指数
4
解决办法
12万
查看次数

找到列表列表中最长公共前缀的Pythonic方法是什么?

给定:列表列表,例如[[3,2,1], [3,2,1,4,5], [3,2,1,8,9], [3,2,1,5,7,8,9]]

Todo:找到所有子列表中最长的公共前缀.

存在:在另一个线程" 不在Python中使用集合的两个列表之间的公共元素 "中,建议使用"计数器",它在python 2.7之上可用.但是我们当前的项目是用python 2.6编写的,所以不使用"Counter".

我目前的代码是这样的:

l = [[3,2,1], [3,2,1,4,5], [3,2,1,8,9], [3,2,1,5,7,8,9]]
newl = l[0]
if len(l)>1:
    for li in l[1:]:
    newl = [x for x in newl if x in li]
Run Code Online (Sandbox Code Playgroud)

但我发现它不是非常pythonic,有更好的编码方式吗?

谢谢!

新编辑:很抱歉提及:在我的情况下,'l'中列表的共享元素具有相同的顺序,并始终从第0项开始.所以你不会有像这样的案例[[1,2,5,6],[2,1,7]]

python

17
推荐指数
2
解决办法
9904
查看次数

在Mac上的终端停止python

在Mac上的终端中使用python,输入

ctrl-z
Run Code Online (Sandbox Code Playgroud)

将停止python,但不退出它,给出如下输出:

>>> 
[34]+  Stopped                 python
Run Code Online (Sandbox Code Playgroud)

如你所见,我已经停止了34次python调用.

虽然我可以使用

>>> exit()
Run Code Online (Sandbox Code Playgroud)

退出python,问题是:

  1. 在终端中是否有一个真正退出(而不仅仅是停止)python的短信?而且,为什么

    CTRL-C

    不起作用?

  2. 我如何杀死所有已停止的python?

顺便说一句,我怎么能用键盘外观输入'ctrl-c'和其他热键呢?

谢谢!

python macos terminal

17
推荐指数
1
解决办法
6万
查看次数

包括string或string.h

要使用memset(),有什么区别

#include <string>       //did not work
Run Code Online (Sandbox Code Playgroud)

#include <string.h>     //worked
Run Code Online (Sandbox Code Playgroud)

谢谢!

c++

15
推荐指数
2
解决办法
3万
查看次数

SQL:决定是否使用它

Hallo:我使用Shell和Python对数据库进行了一些文本处理.对于互操作性,我想用SQL来做.SQL适用于某些查询任务.但我不确定SQL是否可以处理我的所有任务.考虑一个示例数据库:

item | time | value 
-----+------+-------
 1   | 134  |   3
 2   | 304  |   1
 3   | 366  |   2
 4   | 388  |   2
 5   | 799  |   6
 6   | 111  |   7

我需要在某个#time间隔内分析#values的总和.假设时间间隔为100,结果应为:

time_interval | sumvalue
--------------+----------
      1       |   10      -- the time interval from 100 to 199
      3       |    5      -- the time interval from 300 to 399
      7       |    6      -- the time interval from 700 to 799

我无法从SQL教科书中找到更好的方法,而不是使用shell和python.
所以我的SO朋友,有什么建议吗?

谢谢!

mysql sql

4
推荐指数
1
解决办法
119
查看次数

python计算列表中的项目并保持其出现顺序

给定:列表,例如l = [4,4,4,4,5,5,5,6,7,7,7] Todo:获取元素的计数并保持其出现顺序,例如:[( 4,4),(5,3),(6,1),(7,3)]

我可以这样做:

tmpL    = [(i,l.count(i)) for i in l]
tmpS    = set()
cntList = [x for x in tmpL if x not in tmpS and not tmpS.add(x)]
Run Code Online (Sandbox Code Playgroud)

但有更好的方法吗?我在这里看到了这个链接,但它对计数进行了排序,因此打破了顺序.

编辑:性能不是解决方案的问题,更可取的是内置的东西.

python

4
推荐指数
2
解决办法
1638
查看次数

c在struct中定义具有不同大小的数组

我需要为两种类型的对象定义一个结构.两者具有完全相同的数据结构并执行相同的任务(成员方法).

唯一的区别是两种类型的数组大小不同,一种使用SIZE_A,另一种使用SIZE_B.

不需要复制结构和函数的定义.

我怎么能使用一种类型的'struct',并用不同的大小初始化它的数组?

#define SIZE_A 100
#define SIZE_B 200

typedef struct{
  int matr[SIZE_A][SIZE_A];  // for another type matr[SIZE_B]
  int arr[SIZE_A];           // for another type arr[SIZE_B]
  int size;                  // will be initialized to SIZE_A or SIZE_B
  int var1, var2;
}s;

void task1(s* si){
  ...
}

void task2(s* si){
  ...
Run Code Online (Sandbox Code Playgroud)

4
推荐指数
1
解决办法
4254
查看次数

删除选定行之前的空格

我有这样的文字:

This is a normal line. 
       6 spaces are before me.              //line 1 
      4 spaces are before me.               //line 2 
    3 spaces are before me.                 //line 3 
       6 spaces are before me.              //line 4 
     4 spaces are before me.                //line 5 
Another normal line.
   2 spaces are before me. But that is ok.  //line 7 
Line goes on.
Run Code Online (Sandbox Code Playgroud)

如何使用vim选择并删除第1行到第5行之前的所有空格?

vim

3
推荐指数
1
解决办法
143
查看次数

非常基本的c ++:在使用malloc进行跨类指针赋值时出现seg错误

在下面的代码中,'buf'是malloced,但是为什么访问它的成员会给出seg错误?

编辑:感谢cnicutar和大卫,我现在明白了这个问题.

class tool{
   ...
   void do(char* buf){
        buf = malloc(100);
        ... //init buf[0], buf[1], etc
   }
};

class user{
   ...
   tool  *tl;
   char  *buf;

   user(){

       tl = new tool;
       tl -> do(buf);

       cout<<buf[1]<<endl;  //---> gives seg fault!  Why?
   }
};
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
96
查看次数

定义宏扩展为文字#

可能重复:
c ++预处理器宏扩展到另一个预处理器指令

我的问题很简单:我想在宏扩展中使用"#",例如,定义一个marco'M(X)':

#define M(X) #ifdef FOO \ 
              X=1 \
             #else \ 
              X=2
Run Code Online (Sandbox Code Playgroud)

我尝试使用'\'来转义'#',但'\'被解释为宏扩展的换行符,而不是转义字符.那么如何在宏扩展中使用'#'?

谢谢大家!

c c++

0
推荐指数
2
解决办法
625
查看次数

标签 统计

c++ ×3

python ×3

linux ×2

c ×1

command ×1

macos ×1

mysql ×1

sorting ×1

sql ×1

symlink ×1

terminal ×1

vim ×1