我有一个字符串:
{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) 简而言之:一个进程的虚拟地址空间是连续的吗?
我需要了解内核分配给进程的虚拟地址.如果我继续错误,请纠正我.
上的进程创建,内核分配的虚拟存储器至处理和存储开始,并在该过程的不同段的虚拟地址的结束mm_struct
在task_struct
.
现在说一个进程已经用完了堆,需要增加堆size.calls brk()
.
如果虚拟地址范围是连续的,那么新分配的堆块是否从最初为此进程分配的范围之外提供?或者它是以新块与原始块相邻的方式分配的.如果没有空间(因为内存映射段正在那里),该怎么办?它是如何跟踪的?如果虚拟地址范围不连续,那么如何vm_struct
跟踪堆(或任何其他段)的地址范围的不同块?
你可以清楚我的概念吗?
我有一个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) 我阅读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中的字符串......它工作正常,但我无法在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()
.我怎样才能做到这一点?
我们发现考虑到压缩比,游程长度比哈夫曼编码(JAVA)要好得多。所有情况都是如此吗?
我想编写一个shell脚本,它计算给定文件中使用的许多选项卡,然后将结果写入文件output.txt
.这该怎么做?