Linux 与 Windows 文本文件格式转换
由于Windows与Linux对换行的定义不同,导致Windows应用不能正常按行显示Linux文本,Linux显示Windows文本时会带有^M
由于Windows与Linux对换行的定义不同,导致Windows应用不能正常按行显示Linux文本,Linux显示Windows文本时会带有^M
awk中的’数组‘是一种关联数组,又称作maps、字典,他的索引不需要连续, 可以使用字符串、数字做为索引, 此外,不需要事先声明数组的大小 - 数组可以在运行时扩展/收缩。 语法: 赋值: 1 array_name[index] = value 删除: 1 delete array_name[index] 多维数组(使用字符串模拟) 1 array["0,0"] = 100 遍历: 1 2 for (var in arrayname) actions 实例 统计汇总 数据:Iplogs.txt 1 2 3 4 5 6 7 8 180607 093423 123.12.23.122 133 180607 121234 125.25.45.221 153 190607 084849 202.178.23.4 44 190607 084859 164.78.22.64 12 200607 012312 202.188.3.2 13 210607 084849 202.178.23.4 34 210607 121435 202.178.23.4 32 210607 132423 202.188.3.2 167 total.awk: 1 2 3 4 5 6 7 { Ip[$3]++; } END { for (var in Ip) print var, "access", Ip[var]," times" } 注意下END后的{需要和END在一行 输出: 1 2 3 4 5 6 $ awk -f total.awk Iplogs.txt 123.12.23.122 access 1 times 164.78.22.64 access 1 times 202.188.3.2 access 2 times 125.25.45.221 access 1 times 202.178.23.4 access 3 times 说明: $3是一个IP地址, Ip做为数组的索引。 对于每一行,它会增加相应IP地址索引的值。 最后在END部分中,所有索引都将是唯一IP地址的列表,其对应的值是出现次数。 ...
近期在进行AIX到Linux迁移,发现从windows终端ftp时,客户端设置ASCII传输模式, 服务端并不能自动转换换行符号,脚本出现^M,需要手工删除。 Linux环境为RedHat7.3+vsftpd3.0.2,vsftpd.conf中ascii_download_enable/ascii_upload_enable 注释
题目: Given a binary tree, return the inorder traversal of its nodes\’ values. Example: Input: 1 2 3 4 5 6 [1,null,2,3] 1 \ 2 / 3 Output: 1 [1,3,2] Follow up: Recursive solution is trivial, could you do it iteratively? 解题: 树的中序遍历: 如果当前节点的左孩子为空,则输出当前节点并将其右孩子作为当前节点。 如果当前节点的左孩子不为空,在当前节点的左子树中找到当前节点在中序遍历下的前驱节点。 a) 如果前驱节点的右孩子为空,将它的右孩子设置为当前节点。当前节点更新为当前节点的左孩子。 b) 如果前驱节点的右孩子为当前节点,将它的右孩子重新设为空(恢复树的形状)。输出当前节点。当前节点更新为当前节点的右孩子。 重复以上1、2直到当前节点为空。 实现: 递归方式: 对左子结点调用递归函数,根节点访问值,右子节点再调用递归函数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: vector<int> inorderTraversal(TreeNode* root) { vector <int> res; inorder(root, res); return res; } void inorder(TreeNode *root, vector<int> &res){ if (!root) { return; } if (root->left) { inorder(root->left, res); } res.push_back(root->val); if (root->right){ inorder(root->right, res); } } }; 空间复杂度:O(n), 时间复杂度:O(n)。 使用栈实现 从根节点开始,先将根节点压入栈,然后再将其所有左子结点压入栈,然后取出栈顶节点,保存节点值,再将当前指针移到其右子节点上,若存在右子节点,则在下次循环时又可将其所有左子结点压入栈中。这样就保证了访问顺序为左-根-右, ...
这篇文章 CFS Scheduler是Linux Kernel文档
题目: You are given a list of non-negative integers, a1, a2, …, an, and a target, S. Now you have 2 symbols + and -. For each integer, you should choose one from + and - as its new symbol. Find out how many ways to assign symbols to make sum of integers equal to target S. Example 1: 1 2 3 4 5 6 7 8 9 10 11 Input: nums is [1, 1, 1, 1, 1], S is 3. Output: 5 Explanation: -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 There are 5 ways to assign symbols to make the sum of nums be target 3. Note: ...
这篇文章 Timers and time management in the Linux kernel. Part 2. 是出自 linux-insides
大多数早期windows版本创建的应用可以在win10下正常运行,但也有部分程序无法正常运行, 可以尝试通过兼容性设置解决. 修改高DPI设置 在使用一款windows客户端产品时,由于机器分辨率较高导致其中某一个可执行文件无法运行, 通过修改高DPI设置解决,下面是具体的解决方法: 环境说明: 操作环境: win10, 屏幕分辨路1920*1080 应用环境: 双琦弱视治疗系统v4.0.2 解决方式: 右击属性, 选择高优先级设置 弹出新对话框后,勾选替代高DPI缩放行为缩放执行, 并选择应用程序 Microsoft 帮助文档中整理设置兼容性的方法 设置 说明 兼容性模式 使用早期版本的 Windows 中的设置运行程序。如果你确信此程序是为某个特定版本的 Windows 设计(或用于该版本)的,请尝试使用此设置。 降低颜色模式 在程序中使用数量有限的一组颜色。某些旧版程序在设计时所用的颜色较少。 使用 640 × 480 的屏幕分辨率运行 如果此程序的图形出现锯齿或显示不正确,请尝试使用此设置。 更改高 DPI 设置 如果你的程序无法在具有高 DPI 显示屏的电脑上正常显示(其功能显得模糊或太大或太小),请选择“更改高 DPI 设置”,然后再尝试使用“属性”对话框中的以下选项之一: 选择要使用的 DPI 1. 在“程序 DPI”部分中,选中“使用此设置修复此程序的缩放问题,而不是‘设置’中的缩放问题”,以使用想要用于此程序的 DPI 设置。 注意 此操作只会更改你正在调整的应用的 DPI。如果你想要为所有应用调整此设置,请选择“开始”菜单 >“设置” >“高级缩放设置”,然后按照说明进行操作。 有关更改所有应用的设置的详细信息,请参阅修复显示模糊的应用。 若要“使用主显示器默认的 DPI” 请选择以下选项之一: - 已登录到 Windows -登录到 Windows 时使用为主显示器设置的 DPI。这是默认设置。 - 打开此程序 - 打开特定程序时使用为主显示器设置的 DPI。 更改应用程序的高 DPI 缩放模式 在“高 DPI 缩放替代”区域中,选中“覆盖高 DPI 缩放行为”,然后再尝试使用以下选项之一: - 应用程序 > - 禁用所有的 Windows 缩放设置,并仅使用应用开发人员的设置。在先前版本的 Windows 中,此选项被称为“高 DPI 设置时禁用显示缩放”。 - 系统 - 覆盖程序的 DPI 设置,让该程序像在低 DPI 显示屏上一样运行。在高 DPI 显示屏上,这将导致程序显示模糊。 - 系统(增强) >- Windows 将尝试对此程序使用增强的 DPI 缩放。因此,某些程序将以清晰的文本显示在高 DPI 显示屏上。这不适用于所有程序。 以管理员身份运行此程序 某些程序需要管理员权限才能正常运行。以管理员身份登录电脑以使用此选项。 更改所有用户的设置 将该程序的设置应用到电脑上的所有帐户,然后选择 需要管理员权限“更改所有用户的设置”。系统可能会提示你提供管理员密码或确认你的选择。 参考 使旧版应用或程序与 Windows 10 兼容
以fork函数为例,看下Linux进程创建具体工作流程:
Given a reference of a node in a connected Connected_graph undirected graph, return a deep copy