小编imp*_*p25的帖子

在unix shell脚本中转​​义花括号

我有一个字符串:

{2013/05/01},{2013/05/02},{2013/05/03}

我想在开头附加{,在结尾添加}.输出应该是:

{{2013/05/01},{2013/05/02},{2013/05/03}}

但是,在我的shell脚本中,当我将花括号连接到字符串的开头和结尾时,输出如下:

{2013/05/01} {2013/05/02} {2013/05/03}

为什么会这样?我怎样才能达到我的结果?我确定有一个简单的解决方案,但我是一个unix新手,因此会感激一些帮助.

测试脚本:

#!/usr/bin/ksh 
valid_data_range="{2013/05/01},{2013/05/02},{2013/05/03}"
finalDates="{"$valid_data_range"}"
print $finalDates
Run Code Online (Sandbox Code Playgroud)

unix shell ksh character reserved

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

进程的虚拟地址范围

简而言之:一个进程的虚拟地址空间是连续的吗?

我需要了解内核分配给进程的虚拟地址.如果我继续错误,请纠正我.

上的进程创建,内核分配的虚拟存储器至处理和存储开始,并在该过程的不同段的虚拟地址的结束mm_structtask_struct.

现在说一个进程已经用完了堆,需要增加堆size.calls brk().

如果虚拟地址范围是连续的,那么新分配的堆块是否从最初为此进程分配的范围之外提供?或者它是以新块与原始块相邻的方式分配的.如果没有空间(因为内存映射段正在那里),该怎么办?它是如何跟踪的?如果虚拟地址范围不连续,那么如何vm_struct跟踪堆(或任何其他段)的地址范围的不同块?

你可以清楚我的概念吗?

linux memory operating-system process linux-kernel

6
推荐指数
2
解决办法
5577
查看次数

在所有目录中执行文件类型计数

我有一个bash脚本,它给出了在过去45天内编辑的所有递归目录中的文件计数

 find . -type f -mtime -45| rev | cut -d . -f1 | rev | sort | uniq -ic | sort -rn
Run Code Online (Sandbox Code Playgroud)

我有一个名为的目录

\parent
Run Code Online (Sandbox Code Playgroud)

在父母我有:

\parent\a
\parent\b
\parent\c
Run Code Online (Sandbox Code Playgroud)

我会在文件夹上运行一次上面的脚本a,一次打开b,一次打开c.

目前的输出是:

     91 xls
     85 xlsx
     49 doc
     46 db
     31 docx
     24 jpg
     22 pub
     10 pdf
      4 msg
      2 xml
      2 txt
      1 zip
      1 thmx
      1 htm
      1 /ic
Run Code Online (Sandbox Code Playgroud)

我想从\parent里面的所有文件夹运行脚本\parent并获得如下输出:

+-------+------+--------+
| count | ext  | folder | …
Run Code Online (Sandbox Code Playgroud)

linux bash count

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

C程序打印自己的地址空间?

我阅读cat /proc/[pid]/maps了有关其地址空间的信息.所以我想编写一个程序来打印自己的地址空间.

我的节目是这样的;

  pid_t pid;
  int fd;
  char *buf;

  pid = getpid();

  fd = open("/proc/????/maps", O_RDONLY);
Run Code Online (Sandbox Code Playgroud)

我正在获取PID,但它无法帮助我打开文件.如何将pid转换pid_t为字符串并将其添加到open调用?

或者有没有其他方法来打开文件?

c linux systems-programming proc

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

用递归反转c中的字符串

我已编写代码来反转c中的字符串......它工作正常,但我无法在main()函数中返回反向字符串.

#include<stdio.h>

main()
{
  char a[17]="abcdefg";
  reverse(a);
  printf("\n");
  system("PAUSE");
}
int reverse(char *a)
{
   if(*a!='\0')
   {   
     reverse(a+1);
   }
   printf("%c",*a);
}         
Run Code Online (Sandbox Code Playgroud)

它打印反转的字符串,但我想要反转的字符串main().我怎样才能做到这一点?

c string recursion

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

考虑到图像压缩,游程编码总是优于霍夫曼编码吗?

我们发现考虑到压缩比,游程长度比哈夫曼编码(JAVA)要好得多。所有情况都是如此吗?

algorithm image-processing image-compression

0
推荐指数
1
解决办法
3567
查看次数

如何查找文件中的选项卡数量?

我想编写一个shell脚本,它计算给定文件中使用的许多选项卡,然后将结果写入文件output.txt.这该怎么做?

linux bash shell

0
推荐指数
1
解决办法
170
查看次数