This script is part of a legacy code that runs to create a GUI interface for editing text files to be used in analysis codes. There is a windows command script that references a ".sed" file which controls the formatting, editing, and help menu for the GUI. I would like to identify the coding language/rules used in these ".sed" files so that I can make a new more complicated input text file with descriptions of inputs.
Ideally, I would like to be able to use this code to create/edit ".csv" files which can be edited in Excel. This would potentially mean needing to avoid the set variable sizes/padding in the #file block of code below.
Any googling attempts to find more about the coding result in unix sed instructions that are not helpful.
UPDATE: I did find an additional exe in the shell folder of the legacy code for "sedwin.exe". When googled this seems to refer to an old "SEDT text editor for MS-DOS".
An example section from a ".sed" file is below:
<code>
#rem( version description information here )
#version(){"2.0"}
%--------------------------------------------------------------------
#file(seal2,native){
title1(A80);
title2(A80);
title3(A80);
r(G10),del(A1),ll(G10),c(G10),lg(G10),dg(G10),ngroov(I10);
ncase(I10),necc(I10),necase(I10),#for(i,1,necase,0){entlos[i](G10)};
#for(i,1,ncase,0){
speed[i](G10),ro[i](G10),nu[i](G10),delp[i](G10);
}
}
#edit(seal2){
#prompted(22,5,"SEAL2 Input Data"){
#help(){
" Code Name Here
"",
"Code description here"
};
#icon("Titles",titles){#titles();}
#icon("Seal Parameters",seal){#seal();}
#icon("Speed, Fluid Parameters",cases){#cases();}
}
}
#titles(){
#prompted(1,7,"Three Title Lines"){
#help(){
"These title lines will appear on the output of",
"the program.",
"",
"They are useful for identifying the output but",
"do not directly affect the results."
};
#datum("",title1,75,"");
#datum("",title2,75,"");
#datum("",title3,75,"");
}
}
#seal(){
#prompted(12,8,"Seal Parameters"){
#help(){
"Descriptions of inputs in this window.",
};
#datum("Shaft Radius (in)",r,15,"0.");
#float_check("Must be > 0.0","(%g)>0.");
#datum("Land Length (in)",ll,15,"0.");
#float_check("Must be > 0.0","(%g)>0.");
#datum("Seal Radial Clearance (in)",c,15,"0.");
#float_check("Must be > 0.0","(%g)>0.");
#datum("Groove Length (in)",lg,15,"0.");
#float_check("Must be >= 0.0","(%g)>=0.");
#datum("Groove Depth (in)",dg,15,"0.");
#float_check("Must be >= 0.0","(%g)>=0.");
#datum("Number of Grooves (0=plain seal)",ngroov,15,"0");
#int_check("Must be >= 0","(%d)>=0");
#datum("Number of Eccentricities",necc,15,"1");
#int_check("Must be between 1 and 10","(%d)>0&&(%d)<11");
#icon("Entrance Loss Cases",losses){#losses();}
}
}
#new_file(seal2){
file_type=seal2;
unit_type=native;
titles=New;
title1=;
title2=;
title3="(SEAL2 Data File)";
del=",";
seal=New;
ll=0.0;
r=0.0;
c=0.0;
lg=0.0;
dg=0.0;
ngroov=0;
losses=New;
necc=1;
necase=1;
entlos[1...necase]=0.1;
cases=New;
ncase=1;
speed[1...ncase]=0.0;
delp[1...ncase]=0.0;
nu[1...ncase]=0.0;
ro[1...ncase]=0.0;
}
</code>
I just want to preface this by saying I am an absolute noob to shell script, so stick with me here.
Essentially, I am trying to combine lines of text from separate test files (one line from HC_01_MNoFraming.txt added at the end of the corresponding line from HC_01_Gist.txt) into a single line of text on a newly created text file called HC_01_MGNoFraming.txt. This combination of the lines of text would occur for each of the four lines of text in each text file. Below is an example:
HC_01_Gist.txt
12.0130754383 33.0026698754 117.01282238700001 182.01823507400002 201.005570202 220.010026843 352.023495725 478.012859369 518.0072172580001
12.012680624100001 56.0118834624 144.026174161 167.018345335 228.002317522 247.00666698400002 356.027611312 434.014129075 478.013307259
56.01133045 142.00709709999998 207.0121417 331.01635039999996 350.0040858 369.0084907 390.01512310000004 409.0028586 430.0265601 512.0175128999999 556.0159299
12.012615221199999 176.01120546400003 199.00347731 243.019245908 430.00998814900004 472.02324678400004 495.01541966900004
HC_01_MNoFraming
262.006565969 283.013202477 375.015624781 541.016055549
33.019710919299996 497.017719727 537.0287543219999
121.0167582 226.0165682
75.01583263170001 113.024949998 262.023691934 386.010783941 537.011983108
HC_01_MGNoFraming.txt
12.0130754383 33.0026698754 117.01282238700001 182.01823507400002 201.005570202 220.010026843 352.023495725 478.012859369 518.0072172580001 262.006565969 283.013202477 375.015624781 541.016055549
12.012680624100001 56.0118834624 144.026174161 167.018345335 228.002317522 247.00666698400002 356.027611312 434.014129075 478.013307259 33.019710919299996 497.017719727 537.0287543219999
56.01133045 142.00709709999998 207.0121417 331.01635039999996 350.0040858 369.0084907 390.01512310000004 409.0028586 430.0265601 512.0175128999999 556.0159299 121.0167582 226.0165682
12.012615221199999 176.01120546400003 199.00347731 243.019245908 430.00998814900004 472.02324678400004 495.01541966900004 75.01583263170001 113.024949998 262.023691934 386.010783941 537.011983108
I tried several things but the simplest solution I could find online was just using the paste command like this:
#(A) First Timing File = Timing File you Want to Be in Front
A=HC_01_Gist.txt
#(B) Second Timing File Timing File you Want to Be in Back
B=HC_01_MNoFraming.txt
#(C) Output Timing File Name C=HC_01_MGNoFraming.txt
#------------------------------------------------------------
paste $B $A
paste $B $A >$C
Looking at the terminal output, this is what this code gives:
262.006512.0130754383 33.0026698754 117.01282238700001 182.01823507400002 201.005570202 220.010026843 352.023495725 478.012859369 518.0072172580001
33.0197112.012680624100001 56.0118834624 144.026174161 167.018345335 228.002317522 247.00666698400002 356.027611312 434.014129075 478.013307259
121.016756.01133045 142.00709709999998 207.0121417 331.01635039999996 350.0040858 369.0084907 390.01512310000004 409.0028586 430.0265601 512.0175128999999 556.0159299
75.0158312.012615221199999 176.01120546400003 199.00347731 243.019245908 430.00998814900004 472.02324678400004 495.01541966900004
It almost looks like in terminal that the paste command starts working but then after the first data point of HC_01_MNoFraming, the paste jumbles up the text and then resumes with the second data point of HC_01_Gist.txt.
Looking at the HC_01_MGNoFraming.txt file that the code creates:
262.006565969 283.013202477 375.015624781 541.016055549
12.0130754383 33.0026698754 117.01282238700001 182.01823507400002 201.005570202 220.010026843 352.023495725 478.012859369 518.0072172580001
33.019710919299996 497.017719727 537.0287543219999
12.012680624100001 56.0118834624 144.026174161 167.018345335 228.002317522 247.00666698400002 356.027611312 434.014129075 478.013307259
121.0167582 226.0165682
56.01133045 142.00709709999998 207.0121417 331.01635039999996 350.0040858 369.0084907 390.01512310000004 409.0028586 430.0265601 512.0175128999999 556.0159299
75.01583263170001 113.024949998 262.023691934 386.010783941 537.011983108
12.012615221199999 176.01120546400003 199.00347731 243.019245908 430.00998814900004 472.02324678400004 495.01541966900004
I'm wondering about two things:
1)How can I fix the output .txt file to have the data points in-line 2) how can I ensure that the data points for HC_01_Gist.txt go before the data points for HC_01_MNoFraming.
Thanks and I'd be more than happy to clarify my problem and answer any questions you have.
I have VS2017 installed and I am connecting to VSTS online.
The Output window (Show output from Source Control - Team Foundation) is filling up with Illegal characters in path. output.
I don't know why. I have seen this appear a few times on other projects but never investigated why. Today I had a chance to catch the problem.
The structure of the project is as follows:
FullStackAspNetCore\.editorconfig
FullStackAspNetCore\database
FullStackAspNetCore\docs
FullStackAspNetCore\Files.txt
FullStackAspNetCore\FullStackAspNetCore.sln
FullStackAspNetCore\FullStackAspNetCore.vssscc
FullStackAspNetCore\src
FullStackAspNetCore\test
FullStackAspNetCore\.vs\config
FullStackAspNetCore\.vs\FullStackAspNetCore
FullStackAspNetCore\.vs\config\applicationhost.config
FullStackAspNetCore\.vs\FullStackAspNetCore\v15
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\Acme.FullStack.SqlServerDB.dbmdl
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\Acme.FullStack.SqlServerDB.sqlproj
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\Acme.FullStack.SqlServerDB.sqlproj.user
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\Acme.FullStack.SqlServerDB.sqlproj.vspscc
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\bin
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\dbo
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\Import Schema Logs
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\obj
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\scripts
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\bin\Debug
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\bin\Release
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\bin\Debug\Acme.FullStack.SqlServerDB.dacpac
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\bin\Debug\Acme.FullStack.SqlServerDB.dll
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\bin\Debug\Acme.FullStack.SqlServerDB.pdb
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\dbo\Tables
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\dbo\Tables\ApplicationRoles.sql
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\dbo\Tables\ApplicationUsers.sql
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\dbo\Tables\__EFMigrationsHistory.sql
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\Import Schema Logs\Acme.FullStack.SqlSe_20170629095103.log
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\obj\Debug
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\obj\Debug\Acme.FullStack.SqlServerDB.dll
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\obj\Debug\Acme.FullStack.SqlServerDB.pdb
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\obj\Debug\Acme.FullStack.SqlServerDB.sqlproj.FileListAbsolute.txt
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\scripts\dev
FullStackAspNetCore\database\Acme.FullStack.SqlServerDB\scripts\dev\insert dev data.sql
FullStackAspNetCore\docs\Entity Framework.md
FullStackAspNetCore\src\Acme.FullStack.Data.EF
FullStackAspNetCore\src\Acme.FullStack.Data.Model
FullStackAspNetCore\src\Acme.FullStack.Web
FullStackAspNetCore\src\Acme.FullStack.Data.EF\Acme.FullStack.Data.EF.csproj
FullStackAspNetCore\src\Acme.FullStack.Data.EF\Acme.FullStack.Data.EF.csproj.vspscc
FullStackAspNetCore\src\Acme.FullStack.Data.EF\appsettings.json
FullStackAspNetCore\src\Acme.FullStack.Data.EF\bin
FullStackAspNetCore\src\Acme.FullStack.Data.EF\Contexts
FullStackAspNetCore\src\Acme.FullStack.Data.EF\Migrations
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj
FullStackAspNetCore\src\Acme.FullStack.Data.EF\bin\Debug
FullStackAspNetCore\src\Acme.FullStack.Data.EF\bin\Debug\netcoreapp1.1
FullStackAspNetCore\src\Acme.FullStack.Data.EF\bin\Debug\netcoreapp1.1\Acme.FullStack.Data.EF.deps.json
FullStackAspNetCore\src\Acme.FullStack.Data.EF\bin\Debug\netcoreapp1.1\Acme.FullStack.Data.EF.dll
FullStackAspNetCore\src\Acme.FullStack.Data.EF\bin\Debug\netcoreapp1.1\Acme.FullStack.Data.EF.pdb
FullStackAspNetCore\src\Acme.FullStack.Data.EF\bin\Debug\netcoreapp1.1\Acme.FullStack.Data.Model.dll
FullStackAspNetCore\src\Acme.FullStack.Data.EF\bin\Debug\netcoreapp1.1\Acme.FullStack.Data.Model.pdb
FullStackAspNetCore\src\Acme.FullStack.Data.EF\Contexts\ApplicationDbContext.cs
FullStackAspNetCore\src\Acme.FullStack.Data.EF\Contexts\AuthenticationDbContext.cs
FullStackAspNetCore\src\Acme.FullStack.Data.EF\Contexts\AuthenticationDbContextFactory.cs
FullStackAspNetCore\src\Acme.FullStack.Data.EF\Migrations\20170629093101_InitialCreate.cs
FullStackAspNetCore\src\Acme.FullStack.Data.EF\Migrations\20170629093101_InitialCreate.Designer.cs
FullStackAspNetCore\src\Acme.FullStack.Data.EF\Migrations\AuthenticationDbContextModelSnapshot.cs
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj\Acme.FullStack.Data.EF.csproj.nuget.g.props
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj\Acme.FullStack.Data.EF.csproj.nuget.g.targets
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj\Debug
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj\project.assets.json
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj\Debug\netcoreapp1.1
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj\Debug\netcoreapp1.1\Acme.FullStack.Data.EF.AssemblyInfo.cs
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj\Debug\netcoreapp1.1\Acme.FullStack.Data.EF.csproj.FileListAbsolute.txt
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj\Debug\netcoreapp1.1\Acme.FullStack.Data.EF.csprojResolveAssemblyReference.cache
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj\Debug\netcoreapp1.1\Acme.FullStack.Data.EF.dll
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj\Debug\netcoreapp1.1\Acme.FullStack.Data.EF.pdb
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj\Debug\netcoreapp1.1\CoreCompileInputs.cache
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj\Debug\netcoreapp1.1\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj\Debug\netcoreapp1.1\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
FullStackAspNetCore\src\Acme.FullStack.Data.EF\obj\Debug\netcoreapp1.1\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
FullStackAspNetCore\src\Acme.FullStack.Data.Model\Acme.FullStack.Data.Model.csproj
FullStackAspNetCore\src\Acme.FullStack.Data.Model\Acme.FullStack.Data.Model.csproj.vspscc
FullStackAspNetCore\src\Acme.FullStack.Data.Model\Authentication
FullStackAspNetCore\src\Acme.FullStack.Data.Model\bin
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj
FullStackAspNetCore\src\Acme.FullStack.Data.Model\Authentication\ApplicationRole.cs
FullStackAspNetCore\src\Acme.FullStack.Data.Model\Authentication\ApplicationUser.cs
FullStackAspNetCore\src\Acme.FullStack.Data.Model\bin\Debug
FullStackAspNetCore\src\Acme.FullStack.Data.Model\bin\Debug\netcoreapp1.1
FullStackAspNetCore\src\Acme.FullStack.Data.Model\bin\Debug\netcoreapp1.1\Acme.FullStack.Data.Model.deps.json
FullStackAspNetCore\src\Acme.FullStack.Data.Model\bin\Debug\netcoreapp1.1\Acme.FullStack.Data.Model.dll
FullStackAspNetCore\src\Acme.FullStack.Data.Model\bin\Debug\netcoreapp1.1\Acme.FullStack.Data.Model.pdb
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj\Acme.FullStack.Data.Model.csproj.nuget.g.props
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj\Acme.FullStack.Data.Model.csproj.nuget.g.targets
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj\Debug
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj\project.assets.json
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj\Debug\netcoreapp1.1
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj\Debug\netcoreapp1.1\Acme.FullStack.Data.Model.AssemblyInfo.cs
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj\Debug\netcoreapp1.1\Acme.FullStack.Data.Model.csproj.FileListAbsolute.txt
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj\Debug\netcoreapp1.1\Acme.FullStack.Data.Model.csprojResolveAssemblyReference.cache
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj\Debug\netcoreapp1.1\Acme.FullStack.Data.Model.dll
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj\Debug\netcoreapp1.1\Acme.FullStack.Data.Model.pdb
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj\Debug\netcoreapp1.1\CoreCompileInputs.cache
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj\Debug\netcoreapp1.1\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj\Debug\netcoreapp1.1\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
FullStackAspNetCore\src\Acme.FullStack.Data.Model\obj\Debug\netcoreapp1.1\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
FullStackAspNetCore\src\Acme.FullStack.Web\Acme.FullStack.Web.csproj
FullStackAspNetCore\src\Acme.FullStack.Web\Acme.FullStack.Web.csproj.vspscc
FullStackAspNetCore\src\Acme.FullStack.Web\bin
FullStackAspNetCore\src\Acme.FullStack.Web\obj
FullStackAspNetCore\src\Acme.FullStack.Web\Program.cs
FullStackAspNetCore\src\Acme.FullStack.Web\Properties
FullStackAspNetCore\src\Acme.FullStack.Web\Startup.cs
FullStackAspNetCore\src\Acme.FullStack.Web\wwwroot
FullStackAspNetCore\src\Acme.FullStack.Web\bin\Debug
FullStackAspNetCore\src\Acme.FullStack.Web\bin\Debug\netcoreapp1.1
FullStackAspNetCore\src\Acme.FullStack.Web\bin\Debug\netcoreapp1.1\Acme.FullStack.Web.deps.json
FullStackAspNetCore\src\Acme.FullStack.Web\bin\Debug\netcoreapp1.1\Acme.FullStack.Web.dll
FullStackAspNetCore\src\Acme.FullStack.Web\bin\Debug\netcoreapp1.1\Acme.FullStack.Web.pdb
FullStackAspNetCore\src\Acme.FullStack.Web\bin\Debug\netcoreapp1.1\Acme.FullStack.Web.runtimeconfig.dev.json
FullStackAspNetCore\src\Acme.FullStack.Web\bin\Debug\netcoreapp1.1\Acme.FullStack.Web.runtimeconfig.json
FullStackAspNetCore\src\Acme.FullStack.Web\obj\Acme.FullStack.Web.csproj.nuget.g.props
FullStackAspNetCore\src\Acme.FullStack.Web\obj\Acme.FullStack.Web.csproj.nuget.g.targets
FullStackAspNetCore\src\Acme.FullStack.Web\obj\Debug
FullStackAspNetCore\src\Acme.FullStack.Web\obj\project.assets.json
FullStackAspNetCore\src\Acme.FullStack.Web\obj\Debug\netcoreapp1.1
FullStackAspNetCore\src\Acme.FullStack.Web\obj\Debug\netcoreapp1.1\Acme.FullStack.Web.AssemblyInfo.cs
FullStackAspNetCore\src\Acme.FullStack.Web\obj\Debug\netcoreapp1.1\Acme.FullStack.Web.csproj.FileListAbsolute.txt
FullStackAspNetCore\src\Acme.FullStack.Web\obj\Debug\netcoreapp1.1\Acme.FullStack.Web.csprojResolveAssemblyReference.cache
FullStackAspNetCore\src\Acme.FullStack.Web\obj\Debug\netcoreapp1.1\Acme.FullStack.Web.dll
FullStackAspNetCore\src\Acme.FullStack.Web\obj\Debug\netcoreapp1.1\Acme.FullStack.Web.pdb
FullStackAspNetCore\src\Acme.FullStack.Web\obj\Debug\netcoreapp1.1\CoreCompileInputs.cache
FullStackAspNetCore\src\Acme.FullStack.Web\obj\Debug\netcoreapp1.1\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
FullStackAspNetCore\src\Acme.FullStack.Web\obj\Debug\netcoreapp1.1\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
FullStackAspNetCore\src\Acme.FullStack.Web\obj\Debug\netcoreapp1.1\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
FullStackAspNetCore\src\Acme.FullStack.Web\Properties\launchSettings.json
Does anyone know where to look to start diagnosing this?
Quick & Dirty solution:
Focus on the output window, hit 'Esc'.
Other have pointed that disabling the "Source Control - Team Foundation" menu bar solves the issue.
https://developercommunity.visualstudio.com/content/problem/166821/illegal-characters-in-path-being-emitted-continuou.html
I am trying to connect a Google Docs extension to a MySQL database via JDBC Service. The MySQL database is running on a shared server that requires using CPanel. CPanel only lets me add one whitelist rule at a time, and I can only use the % wildcard character (which matches to 0 or more of any type of character). I wrote a script to generate rules in this format from the IP address ranges, but there are more than 300 of them. I'm trying to find an easier way to do this.
Is there a domain name for the Google JDBC Service that I can whitelist instead of the IP address ranges? Does CPanel have a more efficient whitelisting mechanism that I'm not aware of? Is there a program that could automate filling out CPanel's webform with my whitelist?
Here is the CPanel-formatted whitelist I generated, in case someone with the same problem finds my question.
64.18.0.%
64.18.1.%
64.18.2.%
64.18.3.%
64.18.4.%
64.18.5.%
64.18.6.%
64.18.7.%
64.18.8.%
64.18.9.%
64.18.10.%
64.18.11.%
64.18.12.%
64.18.13.%
64.18.14.%
64.233.160.%
64.233.161.%
64.233.162.%
64.233.163.%
64.233.164.%
64.233.165.%
64.233.166.%
64.233.167.%
64.233.168.%
64.233.169.%
64.233.170.%
64.233.171.%
64.233.172.%
64.233.173.%
64.233.174.%
64.233.175.%
64.233.176.%
64.233.177.%
64.233.178.%
64.233.179.%
64.233.180.%
64.233.181.%
64.233.182.%
64.233.183.%
64.233.184.%
64.233.185.%
64.233.186.%
64.233.187.%
64.233.188.%
64.233.189.%
64.233.190.%
66.102.0.%
66.102.1.%
66.102.2.%
66.102.3.%
66.102.4.%
66.102.5.%
66.102.6.%
66.102.7.%
66.102.8.%
66.102.9.%
66.102.10.%
66.102.11.%
66.102.12.%
66.102.13.%
66.102.14.%
66.249.80.%
66.249.81.%
66.249.82.%
66.249.83.%
66.249.84.%
66.249.85.%
66.249.86.%
66.249.87.%
66.249.88.%
66.249.89.%
66.249.90.%
66.249.91.%
66.249.92.%
66.249.93.%
66.249.94.%
72.14.192.%
72.14.193.%
72.14.194.%
72.14.195.%
72.14.196.%
72.14.197.%
72.14.198.%
72.14.199.%
72.14.200.%
72.14.201.%
72.14.202.%
72.14.203.%
72.14.204.%
72.14.205.%
72.14.206.%
72.14.207.%
72.14.208.%
72.14.209.%
72.14.210.%
72.14.211.%
72.14.212.%
72.14.213.%
72.14.214.%
72.14.215.%
72.14.216.%
72.14.217.%
72.14.218.%
72.14.219.%
72.14.220.%
72.14.221.%
72.14.222.%
72.14.223.%
72.14.224.%
72.14.225.%
72.14.226.%
72.14.227.%
72.14.228.%
72.14.229.%
72.14.230.%
72.14.231.%
72.14.232.%
72.14.233.%
72.14.234.%
72.14.235.%
72.14.236.%
72.14.237.%
72.14.238.%
72.14.239.%
72.14.240.%
72.14.241.%
72.14.242.%
72.14.243.%
72.14.244.%
72.14.245.%
72.14.246.%
72.14.247.%
72.14.248.%
72.14.249.%
72.14.250.%
72.14.251.%
72.14.252.%
72.14.253.%
72.14.254.%
74.125.%
173.194.%
207.126.144.%
207.126.145.%
207.126.146.%
207.126.147.%
207.126.148.%
207.126.149.%
207.126.150.%
207.126.151.%
207.126.152.%
207.126.153.%
207.126.154.%
207.126.155.%
207.126.156.%
207.126.157.%
207.126.158.%
209.85.128.%
209.85.129.%
209.85.130.%
209.85.131.%
209.85.132.%
209.85.133.%
209.85.134.%
209.85.135.%
209.85.136.%
209.85.137.%
209.85.138.%
209.85.139.%
209.85.140.%
209.85.141.%
209.85.142.%
209.85.143.%
209.85.144.%
209.85.145.%
209.85.146.%
209.85.147.%
209.85.148.%
209.85.149.%
209.85.150.%
209.85.151.%
209.85.152.%
209.85.153.%
209.85.154.%
209.85.155.%
209.85.156.%
209.85.157.%
209.85.158.%
209.85.159.%
209.85.160.%
209.85.161.%
209.85.162.%
209.85.163.%
209.85.164.%
209.85.165.%
209.85.166.%
209.85.167.%
209.85.168.%
209.85.169.%
209.85.170.%
209.85.171.%
209.85.172.%
209.85.173.%
209.85.174.%
209.85.175.%
209.85.176.%
209.85.177.%
209.85.178.%
209.85.179.%
209.85.180.%
209.85.181.%
209.85.182.%
209.85.183.%
209.85.184.%
209.85.185.%
209.85.186.%
209.85.187.%
209.85.188.%
209.85.189.%
209.85.190.%
209.85.191.%
209.85.192.%
209.85.193.%
209.85.194.%
209.85.195.%
209.85.196.%
209.85.197.%
209.85.198.%
209.85.199.%
209.85.200.%
209.85.201.%
209.85.202.%
209.85.203.%
209.85.204.%
209.85.205.%
209.85.206.%
209.85.207.%
209.85.208.%
209.85.209.%
209.85.210.%
209.85.211.%
209.85.212.%
209.85.213.%
209.85.214.%
209.85.215.%
209.85.216.%
209.85.217.%
209.85.218.%
209.85.219.%
209.85.220.%
209.85.221.%
209.85.222.%
209.85.223.%
209.85.224.%
209.85.225.%
209.85.226.%
209.85.227.%
209.85.228.%
209.85.229.%
209.85.230.%
209.85.231.%
209.85.232.%
209.85.233.%
209.85.234.%
209.85.235.%
209.85.236.%
209.85.237.%
209.85.238.%
209.85.239.%
209.85.240.%
209.85.241.%
209.85.242.%
209.85.243.%
209.85.244.%
209.85.245.%
209.85.246.%
209.85.247.%
209.85.248.%
209.85.249.%
209.85.250.%
209.85.251.%
209.85.252.%
209.85.253.%
209.85.254.%
216.239.32.%
216.239.33.%
216.239.34.%
216.239.35.%
216.239.36.%
216.239.37.%
216.239.38.%
216.239.39.%
216.239.40.%
216.239.41.%
216.239.42.%
216.239.43.%
216.239.44.%
216.239.45.%
216.239.46.%
216.239.47.%
216.239.48.%
216.239.49.%
216.239.50.%
216.239.51.%
216.239.52.%
216.239.53.%
216.239.54.%
216.239.55.%
216.239.56.%
216.239.57.%
216.239.58.%
216.239.59.%
216.239.60.%
216.239.61.%
216.239.62.%
Oday,
Your suggestion won't work as the IP ranges aren't all inclusive. Here is the list that Google says to whitelist.
As an example...how do I white list 64.18.0.x to 64.18.15.x
I should have looked harder in stackoverflow. For others that stumble upon this post, here is the answer that I found at
Whitelist IP addresses ranges using cPanel
64.18.0-15.%
64.233.160-191.%
64.102.0-15.%
66.249.80-95.%
72.14.192-255.%
74.125.%
173.194.%
207.126.144-159.%
209.85.128-255.%
216.239.32-63.%
This is long overdue, but the easiest solution is to use the % wildcard like this to make it easier:
64.18.%.%
64.233.%.%
66.102.%.%
...etc
I am trying to loop over two series of variables and make them with R statistical software to get the correlation results.
I got confused why the bigger loop (on mica_headers) doesn't take place while the inner loop finishes each time.
#!/bin/sh
#set -e
micaHeaderList="tot_instruction ILP32 ILP64 ILP128 ILP256 total_ins_count_for_hpc_alignment totInstruction mem-read mem-write control-flow arithmetic floating-point stack shift string sse other nop InstrFootprint64 InstrFootprint4k DataFootprint64 DataFootprint4k mem_access memReuseDist0-2 memReuseDist2-4 memReuseDist4-8 memReuseDist8-16 memReuseDist16-32 memReuseDist32-64 memReuseDist64-128 memReuseDist128-256 memReuseDist256-512 memReuseDist512-1k memReuseDist1k-2k memReuseDist2k-4k memReuseDist4k-8k memReuseDist8k-16k memReuseDist16k-32k memReuseDist32k-64k memReuseDist64k-128k memReuseDist128k-256k memReuseDist256k-512k memReuseDist512k-00 GAg_mispred_cnt_4bits PAg_mispred_cnt_4bits GAs_mispred_cnt_4bits PAs_mispred_cnt_4bits GAg_mispred_cnt_8bits PAg_mispred_cnt_8bits GAs_mispred_cnt_8bits PAs_mispred_cnt_8bits GAg_mispred_cnt_12bits PAg_mispred_cnt_12bits GAs_mispred_cnt_12bits PAs_mispred_cnt_12bits total_brCount total_transactionCount total_takenCount total_num_ops instr_reg_cnt total_reg_use_cnt total_reg_age reg_age_cnt_1 reg_age_cnt_2 reg_age_cnt_4 reg_age_cnt_8 reg_age_cnt_16 reg_age_cnt_32 reg_age_cnt_64 mem_read_cnt mem_read_local_stride_0 mem_read_local_stride_8 mem_read_local_stride_64 mem_read_local_stride_512 mem_read_local_stride_4096 mem_read_local_stride_32768 mem_read_local_stride_262144 mem_read_global_stride_0 mem_read_global_stride_8 mem_read_global_stride_64 mem_read_global_stride_512 mem_read_global_stride_4096 mem_read_global_stride_32768 mem_read_global_stride_262144 mem_write_cnt mem_write_local_stride_0 mem_write_local_stride_8 mem_write_local_stride_64 mem_write_local_stride_512 mem_write_local_stride_4096 mem_write_local_stride_32768 mem_write_local_stride_262144 mem_write_global_stride_0 mem_write_global_stride_8 mem_write_global_stride_64 mem_write_global_stride_512 mem_write_global_stride_4096 mem_write_global_stride_32768 mem_write_global_stride_262144"
mhToBeReplaced="ILP32"
compilerOptionList="funsafe_math_optimizations fno_guess_branch_probability fno_ivopts fno_tree_loop_optimize fno_inline_functions funroll_all_loops fno_omit_frame_pointer falign_jumps fselective_scheduling fno_inline_small_functions fno_tree_pre ftracer fno_move_loop_invariants"
coToBeReplaced="fno_guess_branch_probability"
for mica_header in $micaHeaderList
do
for compiler_option in $compilerOptionList
do
echo "Calculating $compiler_option correlation for $mica_header"
sed -i "s/$coToBeReplaced/$compiler_option/g" r.scr
coToBeReplaced=$compiler_option
make
done
sed -i "s/$mhToBeReplaced/$mica_header/g" r.scr
mhToBeReplaced=$mica_header
done
Edited: Generally, in order to avoid inconsistency between the values of iterations and source file, how could I be able to link these two together from different files. i.e. micaHeaderList with the headers inside the ALL.scv file ?
In the script there is a mistake which echoes a value of $mica_header which will be substituted only for make calls in the next outer loop run. This is caused by the second sed being run only after make. It should have been called before the inner loop. Could not this cause the confusion?
Also instead of replacing one value of a parameter for another it is better to create a template of r.src file with placeholders for the parameters to be changed. This way we can be sure that for some values of the parameters there could not be conflicts with the search patterns and that a typo will not prevent substitution.
Below is an improved script with considerably simpler code. The part inside if test "$Test" = 1 is just a testing code activated by Test=1. For this script just create a template for r.scr named r.scr.template and put the placeholders %%MicaHeader%% and %%CompilerOption%% instead of the parameters which should be replaced. For the first test there is a shorter list of parameters.
#!/bin/sh
micaHeaderList="tot_instruction ILP32 ILP64"
mhToBeReplaced=%%MicaHeader%%
compilerOptionList="funsafe_math_optimizations fno_guess_branch_probability fno_ivopts fno_tree_loop_optimize"
coToBeReplaced=%%CompilerOption%%
TemplateFile=r.scr.template
OutputFile=r.scr
Test=1
if test "$Test" = 1
then
TemplateFile="${TemplateFile}-test"
echo "$coToBeReplaced $mhToBeReplaced" >"$TemplateFile"
make ()
{
echo -n ">>> make: "
cat "$OutputFile"
}
fi
for mica_header in $micaHeaderList
do
for compiler_option in $compilerOptionList
do
echo "Calculating $compiler_option correlation for $mica_header"
sed "s/$mhToBeReplaced/$mica_header/g;s/$coToBeReplaced/$compiler_option/g" "$TemplateFile" >"$OutputFile"
make
done
done
If the problem still persists:
Check the generated r.src files.
Check if the make script really uses the substituted parameters from r.src.