我有一个CSV.我想编辑CSV的第35个字段并将更改写回第35个字段.这就是我在bash上所做的事情:
awk -F "," '{print $35}' test.csv | sed -i 's/^0/+91/g'
Run Code Online (Sandbox Code Playgroud)
所以,我使用awk拉出第35个条目,然后用"+91"替换字符串中起始位置的"0".这个工作perfet我在控制台上获得所需的输出.
现在我想要将这个新条目写入文件中.我正在考虑sed的"in -place"替换功能,但这个胎儿需要和输入文件.在上面的命令中,我无法提供输入文件,因为我的主命令是awk而sed正在从awk获取输入.
谢谢.
我正在尝试编写一个JS函数,它有两个参数,include和exclude,每个参数都是一个对象{X,Y}的数组,表示从X到Y的数字范围,两者都包括在内.
输出是包含所有范围的所有范围的减法,其中包括排除中的所有范围.
例如:
include = [ {1,7}, {9,10}, {12,14} ]
exclude = [ {4,5}, {11,20} ]
output = [ {1,3}, {6,7}, {9,10} ]
Run Code Online (Sandbox Code Playgroud)
我知道这个问题看起来好像被问了很多次,但请继续阅读.
问题是,与标题建议一样,当我向另一个页面发出POST请求时,会话数据没有保存在我的PHP脚本中.
session_start();在第一行.两个脚本都在同一台服务器上.
我将展示我编辑的代码,以显示它的作用.
脚本A.
<?
session_start();
echo session_id()."<br>";
print_r($_SESSION);
require_once __DIR__ . '/include/config.php';
ini_set('session.use_cookies', 1);
ini_set('session.use_only_cookies', 1);
session_set_cookie_params(
0,
ini_get('session.cookie_path'),
ini_get('session.cookie_domain'),
isset($_SERVER['HTTPS']),
true
);
$_SESSION['haygsdb18'] = true;
$_SESSION['user_name'] = '';
$_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']);
$_SESSION['REMOTE_ADDR'] = md5($_SERVER['REMOTE_ADDR']);
$include_path = str_replace($_SERVER['DOCUMENT_ROOT'],'',__DIR__);
?>
$.post(
"<?=$include_path?>/include/ScriptB.php",
{OTP: OTP},
function(data) {
alert(data);
}
);
Run Code Online (Sandbox Code Playgroud)
脚本B
<?
session_start();
$msg = session_id()."\n";
$msg .= print_r($_SESSION,true);
exit($msg);
?>
Run Code Online (Sandbox Code Playgroud)
这样我就在调试.脚本B显示相同的会话ID,但没有会话变量.
我试图弄明白我已经失去了理智.令我吃惊的另一件事是服务器中另一个文件夹中的相同脚本(完全相同,复制粘贴)完美无缺.
请帮忙......我的想法用完了.
更新:更多调试信息
我在终端中查看sess了php创建的文件tail -f.加载脚本A时,变量将写入文件中,当进行AJAX调用时,文件将被清空(不删除,只是清空).
当脚本A执行时$_SESSION['HTTP_USER_AGENT'] = …
我有以下格式的csv文件:
Time, Field1, Field2,
1000, 1, 2,
1001, 3, 4,
1002, 5, 6,
Run Code Online (Sandbox Code Playgroud)
我想从时间列中获取第一个和最后一个元素,并将它们存储在我的bash脚本中的变量中。
因此,基于此示例,我需要:
$start=1000
$end=1002
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?